4,95 155ue APRIL 1992
$18,080 year
THE VERY BEST
SUPPORT FOR SINCLAIR!
DAT
ES
oo mo) LIPDATE os gzane
emer) | Bebo Petnises
* UPDATE
COMPUTER SYSTEMS »
UPDATE COMPUTER SYSTEMS is Edited and Published by Carol and
Frank Davis of P.O. Box 1095, Peru, Indiana 46970. Phone number
is 317-473-8031, with normal phone hours being between S P.M.
and 9:30 P.M. Eastern Time during the week and Noon to 6 P.M. on
weekends. When we are not there or unavailable, please leave a
message with our answering machine, you’1]1] be answered by mail.
Mailing date for all issues is the fifteenth of the issue month.
At times due to Postal Holidays, or the 15th falling on a
weekend (bulk mail not accepted on weekends) they will be
received at the Postal Unit the next business day. Please allow
two to three weeks from this date before assuming your issue is
not on its way to you. The Postal service telis us it can take
as long as 6 weeks via buik mail. For those wanting speedier
service we can arrange your issue to go by First Class Mail, but
that will raise the price of your subscription by $3.00.
The magazine is published on a quarterly basis in the months of
October, January, April and July. All subscriptions begin and
end at the same time...first issue being October and all
renewals coming due after receipt of the July issue. The cost
is $18.00 U.S. for a one year subscription for North America,
and for those outside of this area $20.00 U.S. We accept
personal and business checks, money orders, and Cash. We do not
accept credit cards at this time, due to costs. Back issues,
where available can be obtained from us, at regular prices.
Assistance in Publishing this magazine is provided by Eliad P.
Wannum, poet, computer user and all round good guy. The
magazine is made possible by the regular contributors such as
Peter Hale, Bill Cable, Al Feng, Bob Hartung to name a few, and
by the many contributions of other writers and programmers.
Your contributions to this magazine are welcome. This is truly
a magazine BY THE USER AND FOR THE USER OF SINCLAIR, TIMEX AND
CAMBRIDGE COMPUTERS. When we cover other operating systems such
as CPM or MSDOS it will be in relationship to our computers or
emulators for our systems to run their software. We primarily
cover disk based systems and software for the TS2068, Spectrum,
QL, 288...and will cover items on the TS1000 if disk drive based
or in relationship to using it with the above’ mentioned
computers.” We do accept reviews of peripherals that are useable
by our systems, such aS scanners, printers, modems, ete,
Submissions should be on disk or hard copy (two copies and at
least NL@, no draft mode). If there is artwork, please let us
Know in what order it should be used, and provide it as a saved
screen or hard copy screen dump. The format is very relaxed.
Just pay attention- to the width of the pages and allow 3/4 inch
top and bottom, and make the left and right margins wide enough
to accomodate a 3 hole punch that does not cut out some of the
text. We have enlarge and reduction capacity to adjust a page,
but may lose some print legibility in the process. Most
important is legibility. Draft quality dot matrix does not
reproduce weil. Print size preference is ELITE 12 characters
per inch. PICA 10 characters per inch is okay also, but please
no condensed print. Please do not make programs submitted on
cassette tape under any circumstance, disk or hardcopy) only.
Exceptions to this would be the wafers used on the Rotronics
Wafadrive for the Spectrum or TS2068 with emulator. 288
programs on disk may be in either IBM or QL format or hardcopy.
TS2068 programs may be LLISTED in Se chr. lines.
UPDATE COMPUTER SYSTEMS PAGE DIRECTORY, APRIL 1992
'
The computer that an article concerns is marked by using the
following mark at the start of the page number-TS2068 = *,QL = #
,288 = % ,TS1000=". There will be no mark if the article or ad
applies to all or several different computer systems.
Inside Front Cover contains magazine basic information
Page No. 1---Directory ‘
Page No. 2---Not Quite An Editorial, Just News
*xPage No. 3---Locked Out? How To Recover! by Don Lambert ,
*Page No. 4---LKDOS vs JLO SAFE by Bill Pedersen
*xPage No. 5---Mechanical Affinity Ad--TS2068
Page No. 6---Sinclair Publications, 2nd Look by E.P. Wannum
Page No. 7---Back Issues of UPDATE and Late Breaking News
About Computer Monthly
Page No. 8---RMG Ad
*Page No. 9---4 Times Screen$ by Abed Kahale
Page No. 10---Disk Operating Systems by Billi Pedersen
#Page No. 11---Archive Made Easy by Andrew Hradesky
#Page No. 15---E.E.C. Ltd Ad (QL distributor, UK)
*Page No. 16---John McMichael Ad for Print Factory Graphics
#Page No. 17---Interest Computation Program by Paul Holmgren
#Page No. 20---Bootsort Without. TK2 by Robert Hartung
#Page No. 21---Cable Column--Archive Series--Part 8 by Bill
Cable of Wood and Wind Computing
#Page No. 23---Using Quill for ASCII’ Files by R. Hartung» 3
Page No. 24---A Composite Booster by Bob Hartung
Page No. 25---Mechanical Affinity’ Ad
#Page No. 26---A Selective Menu-Loader by Robert Hartung
Page No. 27---DMA--Computerfest '92 Ad
#Page No. 28---EMSoft Ad
#Page No. 29---NESQLUG Demonstrates New QL Extension by Peter
Hale (news for April)
#Page No. 30---Notes From EMSoft by Peter Hale
#Page No. 30---Lighthouse by Taylor Penrose
#Page No. 31---Lighthouse listing (good tutorial aid)
#Page No. 32---IQLR Ad
*Page No. 33---Printed Circuit Board Development Program by
Bill Pedersen Manual Part 1
*Page No. 36---Part 1 of listings for Bill Pedersens CAD
Program (more next issue)
*Page No. 45---The Sinclair Desktop Publishing Journal
by Mike Felerski
#Page No. 49---QUANTA's Revisions to Library and How to Obtain
from the U.S. Librarian--Paul Holmgren
#Page No. 50---Jumper Settings For The 3.2 Meg Drive by Dick
Taylor (excerpted from IQLR)
Back Covers ---Issue Disks for TS2068 and QL
All material used in this publication is copywritten and remains
solely in ownership by either the Magazine or the author. To
reprint from this magazine please contact either the magazine
or specific author. All Issue Disks are copyrighted and remain
the property of the software author. All hardware advice is
followed at the users sole risk. Where it's needed please obtain
competent help on all hardware modifications or projects. Most
of all enjoy the magazine and may it greatly enhance your use of
your computer. Your contribution is encouraged.
i
NOT QUITE
by Frank WwW.
Well it had to happen at
some time, this issue I ran out
of room for all that I wanted to
cover. The sad part of all of
this is that I wanted to have
more coverage for the Z88, but I
am stuck with what is submitted
to the magazine. We have picked
up at least 6 more of our
readers that have Z88s, so I
hope to see this improve a bit
in the future. At the present
about 30% of you have and use to
some extent a Z88. Over half of
you have QLs and about 40% of
you have TS2068s. Many of you
have 2 or more of the above, -and
at least 25% still have a TS1000
and still consider it a neat
little machine to use.
For those who have or are
considering a Gold Card for your
QL, I have included something in
this issue that I normally do
not do, an article taken from
another magazine. The article
was of such high quality and the
news of such importance that I
felt duty bound to make this
data available to my readers.
This article concerns the 3.2
meg drives and the proper
settings to use the TEAC version
of these. The article is by
Dick Taylor and is from the
International QL Report. Thanks
guys!
Also, when you come to the
ads for Mechanical Affinity for
the Gold Card, they are no
longer $500 plus $10 P & H; they
are now going for $490 and this
includes P & H and _ insurance.
They are in stock and available.
Plans are also in the works to
include much more in the way of
English, German and Italian
hardware and software for the QL
and the Z88. If they do not have
what you want in stock they can
usually get it for you. We need
to have more North American
dealers for our computers!
More good news to follow.
AN EDITORIAL,
Davis
In this issue we have
started the first part of an
extensive program for you to
type in that will allow you to
create printed circuit boards,
high definition art, logos,
banners, etc. on your TS2068.
It is a full featured Computer
Aided Design program, and it
is a biggy. We did not have
room for all of it in one
issue, so more in the next
issue. For those in a hurry or
not wanting to spend all of
their available free time
typing it in...it is being
offered as an Issue Disk.
Check the back pages for
details on how to obtain this
work of art from Bill Pedersen
for the Larken and Oliger disk
systems. For those who order,
they will get many files all
set to use for printed circuit
boards.
Some news on the Z88 front
from Mike Fink of Domino Cubes
and a new location. Domino
Cubes, 484 W. 43rd St., Suite
270, NY, NY 10036. Phone No.
212-971-0368, and FAX is
212-268-4122. Mike promised me
some articles and ads for the
next issue, and said to tell
all of you that he has at
least 3 things for your 2Z88
that can be found no where
@lse: (a) a mail merge that
really works for the 288, (b)
Remote Control Macro that does
DTP and multiple copies and
you can turn it on and off
from anywhere, (c) single
stroke loading of selected
files from an eprom into an
empty filer. Of course he also
sells Z88s and books, cables,
software, etc.
Nigel Searle of 16 Church
Street, Keene, NH 03431,
Telephone 1-800-388-9836, has
for sale: Z88s for $199,
Memory 128K for $40, Memory
512K for $160, and other
items.
JIVUST NEWS
LOCKED OUT? HOW TO RECOVER
T/S 2068 AND THE LARKEN AND OLIGER DISK DRIVES. '
Submitted by Donald S. Lambert
Letter to George Chambers 83 @2
1992.
In all my computing, I have been
trapped by a= problem three
times. Of course it is all my
fault but maybe there is a way
out. And that is on each of
these times I have either tried
to SAVE to a disk drive that I
didn’t have or on two occasions
I tried to SAVE when the disk
interface to disk drive ribbon
cable was disconnected. Try as
I might I have found no way to
abort the SAVE and have had to
turn off the computer and lose
the file. It might be possible
to plug in the disk drive ribbon
cable but there is always the
possibility of zapping
something. And while I have a
Larken disk interface with a
RAMdisk that is full and besides
once you have committed to a
disk drive the computer hangs
onto that drive until it is
used. What do you do in that
situation?
George replied @3 14 1992. :
I have been looking at = your
letter. You asked about how to
break out of a computer lock-up
when you try to make a SAVE/LOAD
to a non-existant drive. You are
correct, I would never plug a
drive in while the computer is
Powered up.
I thought I probably knew the
answer so I shut off my
computer, disconnected my drive
@. Then I re-powered and tried
saving an Mscript file to drive
@. Well all the other drives
spun of course, but not the
disconnected drive Qa. The
computer was hung up. I then did
what I would usually do. I
pressed the NMI- button and then
the A key. As I expected the
computer broke out of it’s
hung-up condition with an error
report at the line in the
program where the SAVE effort
occured.
That is pretty simple. I thought
everyone knew that. To continue,
if you inadvertently press the
NMI- button you can recover from
it without harm by pressing the
ENTER key. Also, if you are
trying to breakout of a program
that is heavily protected, and
the NMI- and A key routine does
not work, try pressing the NMI-
button and then press the 1 key;
i. e. do an NMI- type save to a
protected disk. You will get a
“Protected disk” error report,
and you will be back out of the
lockup. Sometimes, depending on
the nature of the protection the
computer simply crashes and you
get the Sinclair logo. I use
this method particularly with
Spectrum games, which for the
most part are heavily protected.
Don: I had never considered the
use of the NMI- button so I
guess I am not everyone.
I have an idea to try out, since
both the Larken and the Oliger
use the NMI- button will it also
work the same on the Oliger?
It works with the Oliger except
'that the A key does nothing but
the 1 key will allow you to use
the BREAK function and get "D
Break - CONT REPEATS @:1". I
don’t know if anyone ever gets
lecked out but this is one way
to recover. But here is a
possible way out of a dilemma
that would otherwise result in
a loss of data. o/a.
LKDOS vs JLO SAFE
John Oliger's format predates Larry Kenney's, giving Larry the opportunity to
build on it. As you can see, Larry added the IBM index mark which could make his
disks readable using MSDOS, though only through ROM BIOS calls because there is no
boot record recorded. Its value is questionable.
John Oliger had a similar advantage from another source, but did not improve
on it. The decision was made to use 512 byte sectors instead of 1624 byte five
sector ISO MFM. It seemed like a good idea at the time, but nobody who wanted to
develop a 2$68/Spectrum DOS was expert in disk drive technology. The 10
sector/track 512 bytes/sector format became a de-facto standard. It is really
quite unfortunate that this happened, but consider what it would have been Tike
without any 2968 DOS at all.
For reliability reasons, there is only enough room for nine 512 byte sectors
on a double density disk. Gaps straddling data records build up splice marks with
successive writes. Drive speed variations demand that gaps be a certain minimum
size. Controllers need intact gap bytes before and after splices to allow them to
detect and ignore them. Both formats above require equipment to be better than
average. It is not unusual for available drives to give trouble, much more
noticeable with LKDOS.
Using five sectors of 1024 bytes each would require only minor changes in
machine code and be invisible to the user, however, it would not be easy to
reformat existing disks. New EPROMS would be needed. This does not seem to be a
good answer. Ps
John has an updated EPROM which increases the DATA gap acceptably.
LKDOS uses software to FORMAT disks. | have revised this program for my own
use for other reasons, so changing it so both system formats MATCH is “duck soup”.
Actually, they need not match exactly. The new LKDOS format loses its IBM INDEX
GAP, and ignores JLO SAFE's track sector stagger. The only observable effect is
losing CRC errors.
John originally used * to trigger the format editing error which he then used
to bank switch his own ROM into low memory. Later he changed this to / because the
2068 partially supports * in relic code, changing syntax error sensing locations
and messages. Forcing errors so they can be trapped’ is an ancient trick with
programmers, but it is only a temporary way to add new features. It should never
be used for permanent functions. The change to / was symptomatic.
Larry Kenney took a different approach. He created a bank switching command
to replace error trapping. In away, *, /, and RANDOMIZE USR 19% are equivalent.
bank switching instructions. They differ in convenience only as far as the user is
concerned, though this is not true for special features each elected to supply in
their EPROMs. Both systems work and have their followings.
After formatting a disk, it is necessary to build a disk directory and File
Allocation Tables (FAT) in track @.
Both systems cambine the two, but in different ways (An expert would avoid
simplification because of future problems). Both system authors pride themselves
on this, yet both reap some of the problems caused by it.
John Oliger structures his directory so it contains a pointer to the disk
location of the named file. With only one pointer per file, files must be stored
without gaps between them so their lengths can be determined. {it requires special
attention when erasing files. Files must be rewritten to opened up space, and the
directory updated. A file which expands enough to require another track must be
renamed before it can be stored. These are the “wages of syntax”, a relatively
smal] price to pay. -
4
Larry Kenney structures his directory so it contains a list of pointers for
each named file. This permits holes to develop where files have been deleted. The
list of pointers is consecutive unless holes are being filled. When this happens,
files become fragmented, just as they do in MSDOS.
Defragnenting and closing up holes requires disk to disk transfer, though one
drive is enough to do the job.
LKDOS has a file header system which JLO SAFE does not. It decreases the
amount of data which can be stored compared with JLO SAFE, though not by much.
Header information is placed at the beginning of every track, and same space is
wasted at the end. There is enough data to reconstruct a corrupted directory.
The header contains a CRC entry. Because disk controllers generate and check
their own CRCs, there seems no reason to include this redundant feature. Larry
explained to me that this is required for his RAMDISK, so the directory
reconstruction ability is a convenient side effect.
It would be foolish of me to expound on the merits of program features of each
systen. They are different. It is nice to have both but switching between then
isn't easy -- though L. Crawford of London Ontario has a setup you will find hard
to believe. His MACRO keyboard deserves a review in itself.
In closing, the 1776 controller was designed to be a cheap replacement
controller. It is ... cheap. It replaces a set of chips and components without
duplicating their performance.
A respectable disk drive puts out a READY signal as soon as it is spinning
fast enough to function correctly. Most reach this condition in less than one
revolution of the disk. Of course, functioning implies a capable controller.
The 177% ignores this signal. It isn't even attached. The reason is simple
enough. It does not contain a phase-locked~loop to synchronize its clock with the
disk bit rate.
Instead, it contains the equivalent of a UART used with serial ports. By
chopping a “frame” into smaller parts, you can change the size of a window in which
an event (bit) occurs. That's why the 1770 requires a higher frequency clock. Like
a UART it is set up for a nominal baud rate and cannot tolerate much deviattion from
that rate.
of nominal. Though this is no problem for! a phase-locked-loop, it is for the 177@.
The penalty is the loss of many seconds when you use your disk a lot. :
Even though John Oliger has done a remarkable job getting the best fran the
1770, it is slow with respect to an IBM clone controller card which doesn't have to
wait 5 revolutions before starting operation.
MECHANICAL AFFINITY AD
For the best prices on items for your Timex or Sinclair line we
ask that you give us a chance to fill your order here in the
Americas, both North and South and all in between. Contact Frank
Davis at MECHANICAL AFFINITY, 513 EAST MAIN STREET, PERU, IN
46970, or contact Paul Holmgren at MECHANICAL AFFINITY, 5231
WILTON WOOD CT, INDIANAPOLIS, IN 46254. All prices are in US
Dollars, and we do not accept charge cards.
TS2068 COMPUTERS FOR $50, includes manuals and cables.
TS2040 PRINTERS FOR $40, includes extra thermal paper.
TS2050 MODEMS FOR $35, includes software.
DOCK PORT SPECTRUM EMULATORS FOR $25.
We hope to be of service to you. All items listed include
postage within the continental USA. For out of the USA, please
include $5 to cover the total shipping. Catalog available on
request. Thank you.
3
SINCLALR PUBLICATIONS, 2ND LOOK
by ELIAD P. WANNUM
Last issue I told you we would be looking at some of the
newsletters of North America, so here we be. I also mentioned
that I would hold off on subscribing to QL World, as at that
time they had an uncertain future. It appears we can rest
assured for now that OL World will be around for awhile, it was
bought by what seems to be capable hands and is still
publishing. Now let us see what we have in the way of news from
Sinclair Clubs and Groups.
For QL users we have the NESOLUG News, % P.O. Box 8763,
Boston, MA 02114. Seems to be bi-monthly and is edited by Peter
Hale of EMSoft. Annual membership is $10, $5 for students, and
$15 out of North America.
FDD Newsletter for the Zebra Disk Drive System, is edited by
Jay Siegel, 1274 49 St., #821, Brooklyn, NY 11219, Phone 718
853-7521. A good mix of hardware, software and CPM coverage.
QZX, the Journal Covering Amateur Radio and Sinclair
Computers. That is quite a mouth full, but just what you’ get
from this long running newsletter edited by Alex F. Burr, K5XY,
2025 O'Donnell Drive, LaS Cruces, NM 88001. $15 a year for 12
issues. This is not just for ham radio operators.
SINC-LINK, edited by Jeff Taylor of the Toronto
Timex-Sinclair Users Club, 14 Richome Court, Scarborough,
Ontario, M1K 2Y1. The largest newsletter put out by any North
American club or group. It has very heavy emphasis on the Larken
interface for the TS2068, good support for the TS1000, and above
average QL coverage. No coverage of the 288. Newsletter
subscription alone is for $12, and full membership is $20 a
year. Good use of Print Factory on the TS2068 for graphics.
The RAMTOP, is published quarterly, and is edited by Thomas
Simon, 615 School Ave.,Cuyahoga Falls, Ohio 44221. It is the
publication of the Cleveland TS Users Group. No mention of rates
for those wanting to subscribe. Covers TS1000, PC, QL and
TS2068.
SWYM, the newsletter for SEATUG, is edited by Chuck
Kereluck and can be subscribed to by sending $10 to Dave
Battershill, P.O. Box 64462, Tacoma, WA 98464. Seems to cover
all but the Z88.
ISTUG, the newsletter of the Indiana Sinclair-Timex Users
Group is edited by Frank Davis and assistant editor Mike
Felerski of desk.top publishing fame. It covers mainly the
TS2068 and QL, but has occasional coverage for the Z88 and _ the
TS1000. Newsletter subscriptions for non-members are $9 a year
and can be obtained from ISTUG, 513 East Main, Peru, IN 46970.
THE PLOTTER, is the newsletter of the Clackamas Computer
Applied Training Society, 1419 1/2 7th St., Oregon City, OR
97045. It is edited by Dick Wagner and is heavily contributed to
by Rod Gowen of RMG. Subscription is by membership and is $20 a
year. It covers all of the Sincalir computers, except the Z88.
It also covers the PC, and IBM compatible shareware.
CATS Newsletter, the journal of the Capital Area
Timex/Sinclair Users Group, is edited by Tim Swenson. It
supports all of the Timex and Sinclair computers and a
newsletter subscription can be obtained for $12 a year from
CATS, P.O. Box 11017, Takoma Park, MD 20913.
For the Z88 user to get full coverage he can subscribe to
Z88 EPROM, % Roy Woodward, Z88 Users Club, 68 Wellington St.,
Long Eaton, Nottingham NG10 4NG. Rate for a subscription is
unknown at this time, but I have seen some excellent back
issues. Resembles the QUANTA format of magazine/newsletter.
*EXTRA* *EXTRA*
BACK ISSUES OF UPDATE MAGAZINE
For those who are new to UPDATE and want to be able to get
back issues that they may have missed, we will be offering the
following for a short time only. This offer is good only till
the end of July 1992. Any one back issue for only $4.50, or 4
issues for $16.00. We have available the following issues.
October 1991, July 1991, April 1991, January 1991, October
1990, April 1990, January 1990, October 1989, July 1989,
April 1989, January 1989 and April 1988.
If ordered, these will be sent to the requested address by
first class mail. From what we last heard from Bill Jones he did
not indicate that he had any more back issues from when he was
publishing UPDATE, so I assume these are the last issues
available, other than by buying used copies from friends.
Now of course you may start or renew a subscription to
UPDATE at any time and receive all of the back issues of the
year in which you started the subscription. We may once in
awhile be a week or two late getting the magazine out,but we
will not leave you in the lurch like some have in the past.
We also have available for you copies, 2nd Edition, of the
QL Survivors Guide, for $10.95 postage paid. Find out where the
hardware, books, software,repair facilities, user groups and
Magazines are that cover the QL worldwide. , .
LATE BREAKING NEWS ABOUT COMPUTER MONTHLY
I just got a call from Bill Ferrebee, who writes the TS
Column for Vulcans Computer Monthly. They told him that after
the June issue they were going to be going to a strictly IBM and
MAC format. Shades of Computer Shopper!!! This means that they
will be dropping all of the Classic Computer coverage, from
Commodore 64 to TI99, and us included. They will also be
dropping the Amiga and Atari ST. Bill said this was a decision
made by the owners of the company and not by the Editor or
staff. I am not sure if it would do any good to let Vulcans know
what we feel about this, but I am going to do so anyway. They
seem to have hit me on all of my computers, from my QL to my
Amiga and all in between. Speaking of the Amiga, I have the
latest version of the QL Emulator for the Amiga. I plan to give
a write up on this software in the next issue, and possibly the
Spectrum emulator for the Amiga. I also have a Commodore 64,
Atari ST, Mac and IBM emulator for my trusty Amiga. It is a nice
computer except for the Workbench and CLI environment on it. It'
is great for emulating, but not all that hot for use as an Amiga
if you are a programmer. It uses huge amounts of memory for
screens and for many of its programs. I have a few programs that
require 3 meg of memory as a minimun! Having weaned myself on
computers such as the PDP 8 and 11 and the ZxX81 I learned to
conserve memory. Is this the wave of the future of computing?
One last note for all of you. You have only one more issue
before it is time to renew again. Write and let us know if you
want us to continue with UPDATE. It took a long time for most of
you to get your renewals in the last time, and frankly I find
that to be discouraging. All but a few ended up renewing.
U
A. Looking For
Productse
If so, look no further'!!
We have the LARGEST stock of h/w &
s/w for the T/S line of computers
ANYWHERE IN THE WORLD!
For a catalog and price list call or write:
(ils ENTERPRISES
1419 1/2 7TH STREET
OREGON CITY, OR 97045
503/655-7484 NOON-10PM PT T-S
FAX: 503/655-4116
VISA/MC/CK/MO - $3.50 (REFUNDABLE)
(STATE COMPUTER MODEL FOR PRICE LIST)
Y Times
SAE eb.
Abed Hahale, 335 W. Newport Rd. HoffHan Estates, IL 60195
Since my last article on the Tandy
DMP1@5 printer, modifications were made
to screen dump 4 times the normal size
to about a Ralf page worth. Also the
print head is now controlled so it can
plot to any location on the page. In
this case, the font style controls the
widths ELITE (12 CPI) & Expanded was
used below. One half the vertical pixels
i The
program should be aplicable to other
printers with proper modifications.
To obtain a negative (inverse video) or
vice versa add NOT. NOT POINT(C,R-xx)
1 REM TANDY DMP1@5 PRINTER DRIVER by Abed Kahale 1/92
28 RANDOMIZE USR 188: OPEN #3,"LP*
38 RANDOMIZE USR 188: POKE 16872,8: REX No line feed (oth
erwise double spacing)
5@ RANDOMIZE USR 100:
sent to printer.
88 LPRINT CHR$ 27;CHR$ 23;CHRS 27;CHRS 14; CHRS 18! REM E}
ite, Expanded (Elongated!) & Graphic mode.
POKE 16893,32: REM LPRINTs & CHR$s
Font by ZUNK
BSDLPRINT CHR$ 1@SREM Line feed.
9@ LPRINT CHRS 273CHRS 16;CHRS @sCHRS 35: REM Locates head
(nargin) at 35 pixels from the left.
95 RANDOMIZE USR 108: LOAD "C.C$*SCREENS
155 FOR Y=@ TO 175 STEP 4: LET R=175-¥: REM vertical pixels
3 tacken twice for 8-pin head.
168 FOR C=8 10 255: REM Horizontal pixels.
178 LET B=@
188 LET B=B+POINT (C,R-.5)! REM
198 LET B=B+2#POINT (CyR-1)! REM »
208 LET B-B+4#POINT (C,R-1.5) REM
divided by 2
218 LET BeBHG#POINT (CyR-2)2 REM . ‘J
228 LET B=B+ib#POINT (C,R-2.5)2 REN * *
28 LET B=B+32"POINT (CyR-3)? REM . '
248 LET B=B+S4ePOINT (CyR-3.5)2 REN . :
Be LET B=B+128
ZS IF IN 127(>236 THEN G0 TO 255: REN thecks if READY.
268 LPRINT CHRS By
278 NEXT €
288 LPRINT CHR$ 27;CHR$ 9OsCHRS @: REM carriage return.
298 NEXT Y
WO LPRINT CHR$ 38: REM Back to character aode.
328 STOP
DISK OPERATING SYSTEMS
Histenicatty computer disks augmented on replaced magnetic tape reeks
E Ante. ot Lo and fhattoned. The Loop was fastened
Eseonttatly, a eae ae! a Loop eres op 4 gn
dated , able head L heads. In the i
accomne a mov waugk neo Bead niet
ALAQNLY » SOY Q@ singhe Earky ”. "which
Le eiolaste tid Ce top ae Sotdon Sinfoat: Head Loading the
opposite of the familiar d and heads
The addressing method for stack drives 44 universal. The teuns volume,
Rinder, track anid sector ane. ah dexived sao then, though there 44 some
needs Sere nat times. There were also drives in the foun of a
aun gud ey ti tntex many heads hor fast mainguamne computers.
VOLUME This genenakly refers to a Lump of sAtowge you can cwvy around. When
the Lum AGUTe.
checking It doesn’t imply any
L 04 storage or an address. It could even be a book
given moder recognition technology.
CYLINDER A track on one side of one disk Lines up with corres; ponding ones on
every other disk and avaikabke side. Together they define
Cylinders are numbered 40m the outside edge umard. RAS ds (OT An
track number. See why 4n a moment.
HEAD This is either specigiod on Anckuded dmplicithy in SIDE. Usuakly, but
not a pungs feeds BAe fumbered fom bottom to top OM nemavable stack 06
7 disks woukd have six pairs of Senditive surfaces aces and Six pairs of
heads. Heads would be numbered htt. Fora 2 disk cakiper stack
(aml hand drive), they number grom O wh 3.
"SIDE" When there onky one disk in the “stack, to neher to SIDE
speed of Feb. ean be confusing 4 ou Coen ger they ave different
"TRACK" With a single sided dish TRACK is the same a4 CYLINDER. Adding a
second side introduces ami alt you use TRACK and SIDE together,
TRACK and CYLINDER NUMBERS mat.
Some dish systems treat even. Tea numbers to be on SIDE 6 and odd
numbers to be on SIDE 1. Oh _bo Let's stick with DEVICE (DRIVE),
VOLUME, HEAD, CYLINDER and SECTOR and save us some headaches.
1 we tath about TRACK as a physical storage unit, there i4 no problem.
It wa ver usefuk teun, meaning a continuous peace to record with no
breaks, only ends. Poor esig ny eetg AP wee ny oF ar
=~7 CYLINDER
a
SECTORS
=< 7
a
ee
= or}
r wen 3
———_—_f PRONTO ‘a 2
\
ARCHIVE made easy
(c)1984 PSIOW LIMITED
by A. Hradesky
According to Webster's Ninth New
Collegiate Dictionary, "“data-
base n (1967): a collection of
data organized especially for
rapid search and retrieval (as
by a comuputer)".
According to the QL User Guide,
"QL Archive is a database
program which enables you to
create filling systems for any
type of information you choose"
As many of you know, QL-Archive
(QLDB) is one of four programs
given free with the purchase of,
a Sinclair QL. It is perhaps
the most difficult of the three
to program (but not to use). The
everso powerful command
structure and programming
language within Archive can give
the 'un-taught’ user many fitful
moments.
Before starting, the program we
will be using comes straight
from the QL User Guide (Chapter
10, page 21) and therefore is
directly aimed towards the new
user. This tutorial, will
hopefully enlighten non-Archive
users to realize the potential
they have when given the proper
tools for programing (like
Archive).
We will, however, be giving the
particular program somewhat of a
face lift. A few tricks learned
from QL World magazine will be
used to give our program some
flare.
First, let us start by creating
a card index (Rolodex??)>). "An
Archive file behaves rather like
a card index. A real card index
V1
consists of a box containing a
set of record cards, each card
contains various items of
information”. In this case, the
box’ represents the most
important part of any data base,
the data base file (DBF)
Technically speaking, without
the DBF, there really would not
be any data base. The, DBF
contains all the pertinent
information which the data base
program uses.
Load Archive as per the QL User
Guide (versions 2.01, 2.30,
2.30RTM, 2,38 and 3.87 Turbo are
all supported). To 'CREATE!, the
DBF, we must first specify all
the fields each record will use.
To accomplish this, enter the
following as shown:
CREATE "mail” <PRESS ENTER>
This places you in sort of a DBF
editor. Archive expects you to
input the titles of every field
needed for your DBF, Knowing
this, enter the following:
TITLES <PRESS ENTER>
FIRST_NAMES <PRESS ENTER>
LAST_NAMES <PRESS ENTER>
+ ADDRESSS <PRESS ENTER>
CcITY$S <PRESS ENTER>
STATES <PRESS ENTER>
ZIP_CODES <PRESS ENTER>
TELEPHONES <PRESS ENTER>
ISSUES_DUE <PRESS ENTER>
MONTH _DUES <PRESS ENTER>
YEARLY _DUESS <PRESS ENTER>
PAYMENT INFOS <PRESS ENTER>
USERGROUPS <PRESS ENTER>
When all typed in and complete,
press <ENTER> to activate the
*ENDCREATE’ command. This will
notify Archive you have finished
your input to create a DBF
(which you've just created).
Please take note, your DBF is
presently open and will remain
so until you 'CLOSE’' it. The
To view your newly created DBF,
type ‘DISPLAY’. You will see a
blank record with just the field
names. Upon closer scrutiny,
you will notice the field
ISSUES_DUE does not have a '$'
following it. To Archive, the
'$' represents an open string.
This means you can mix
characters and numbers all on
the same line. Without the ‘S$’,
Archive expects numeric values
only.
fields that
The TITLES
official
Mrs, etc.
represents
Let us explian the
represent your DBF.
field is designed for
titles, ie Dr, Mr,
The ISSUES_DUE field
the total number of issues
(newsletters) due the member.
The MONTH DUES gives the month
and year the member needs to
renew his/her membership. The
YEARLY _DUES$ is used to display
the amount paid by the member
for his/her membership. To
record the check number, cash
amount, date received, etc, the
PAYMENT_INFOS field is used.
Finally, the USERGROUPS field
allows information about members
who live outside the local area
and just pay dues to receive the
newsletter. Normally, these
members officially belong to
another group.
must be
* CLOSE’
I am sure your fingers
getting antsy, so let's
our DBF and begin designing the
mailing list program (type
‘CLOSE’ and press ,<ENTER>).
The following requirements are
needed to accomplish our goal:
Add a new member to the DBF
Output all records to printer
Record membership payments
Modify a members record
Delete a members record
Order the DBF
Exit/Quit the program
12
explaination of each procedure
module is best described within
the QL User Guide. Type 'EDIT'
and press <ENTER> to input
the listing given. Follow the
instructions.
The procedure 'BORder’ gives us
an ASCII border around the main
menu by using 'CHR(XX)’ codes.
It was mentioned in QL World
that Archive has this available.
However, the author stated he
could not find documents to
support this except in PSION's
PC-FOUR program (IBM’s version
of the QL’'s bundled software AND
it costs almost $100.00, hah!).
So, he experimented and found
the coding was duplicated within
the QL's version of Archive.
Even though the affect is the
same, the ASCII characters do
not corespond to the ‘CHR’
numbers. Plus, the IBM ASCII
character set is only half given
for QL-Archive. But this does
not stop us from (ab)using it.
The SCR procedure allows a 3-D
or shadowing effect. The shadow
will of course display as black.
The actual paper with the menu
will be colored red. And the
background will show as green.
If you do not like the green
background, change the 'CHR<«4)'
in the first line to ‘'CHR<7>'
for white (‘also alter the REM
statement to reflect the change)
The WINDOW procedure really is
sort of a clear screen (or clear
window). The CHR(12) gives a
form feed. The command line
before it makes sure the window
remains red in color.
When your program is all typed
in, do not forget toa save it
While in the procedure 'EDIT'
mode, press <ESC>, then enter:
<PRESS ENTER>
SAVE "MAILLIST"
prac BORder
print tab 8; chr (234); chr (4) +chr(231)+chr (40); chr (226)
print tab 6;chr(235);chr(4)+" "+chr (40)+chr (235)
2,19;"TIMELINEZ MEMBERSHIP”
print tab 6; chr (230); chr ¢4)+chr(231)+chr (40); chr (225)
print
let A=
at
10)
while A<il
print tab 8; chr‘235);chr(4)+"
let A=At+1
endwhi
le
"+ohr (40); chr (235)
print tab 6; chr (227); chr(4)+chr(231)+chr (40); chr (233)
endpro
prac bye
close
ic
print "bye"
paper
0
mode 8,0:
stop endproc
endpro
ic
proc change
rem **kk*k*k alter record
let n$="x"
cls
while n$<>"'"
getrec
if ok$="y"
alter
paper
endif
endwhi
endpro
2:
le
ic
els
proc choose
rem *X**kk choose an option *kKKK
print
print
print
print
print
print
print
print
print
endpro
at
at
at
ic
els
FORK
4,15;"SELECT OPTION"
6,18;"CAldd a member”
7,18;"€Diespatch to printer"
8,16;"( Play on account”
9,16;"€Clhange a record’
10,18;"€Wlipe a record”
11,18;"COlrder a file’
12,18;"CQluit program’
14,15;"CHOICE? ";
let choice$=lower (getkey()>
if choice$="a":
if choice$="d":
if choice$="'p"
if choiceg$="c":
if choice$="w"
if choiceg="0":
if choice$="'q": bye:
insert
endif
window: BORder:
despatch: window: BORder:
pay: window: BORder
change: window: BORder: endif
: wipe: window: BORder:
order last_name$;a: update
endif
endif
endif
endif
: window: border:
endif
proc despatch
els
all
dolabel
endall
endproc
proc dolabel
rem ***k*kxk print labels ****KK
if issues_due
if issues_due=1
doline;"REMINDER - Subscription Now Due"
else
doline;"""
endif
doline;" "+month_dues
doline;titleSt+" "+first name$+" "+last_name$
doline; address$
doline;city$+", "+stateS+" "+zip codes
let issues_due=issues_due-1
update :
endif =
endproc i
proc doline; x$
lprint x$
endproc
proc getrec
rem ***kk locate a4 particular record *k*k*
els
let ok$="'n"
input "who? ";n$&
if n$<>""
find n$
while ok$<>"y" and found >
print =
print title$;" ";first_name$;" "; last _nameS
print address$
print : - =
print "OK C¢y/n)? ";
let ok8=lower (getkey (©)
cls
if ok$<>"y"
continue
endif
endwhile
if not found
print
print n$;" not found"
endif
endif
endproc
14
Proc pay
rem *kxk** record subscription payment *kkKk
cls
let n$="x"
while n&$<>"""'
getrec
if okg="y"
let issues due=issues_duet6
update
endif
endwhile
endproc
proc SCR
print chr(2)+chr (4): REM GREEN PAPER
print chr(12):REM FORM FEED = GLS
print chr(20)+chr(12)+chr (4) +chr (69) +chr (21)
print chr(2)+chr (0): REM BLACK PAPER
print chr¢12): REM FORM ‘FEED
print chr (20)+chr (10)+chr (3) +chr (67) +chr (20)
print chr(2)+chr(2): REM RED PAPER
print chr(12):REM FORM FEED
endproc
proc start
rem ***kkxX start procedure k*kXk**
mode 0,0: cls
ink 7
SCR
BORder
open "mdv2 mail"
while 1
error choose
let n=errnum()
ifon
print "Mistake - Press any key to continue”
let m$=getkey(
endif
endwhile
endproc
proc window
print chr(2)+chr (2)
print chr (12>
endproc
Specialists in High Quality Software and Peripherals
E.E.C. LTD.
18-21, Misbourne House,
Chiltern Hill,
Chalfont St. Peter. SL9 QUE
Fax No 0753-887149
Telephone 0753 888866
(USA calls. 01144-753-868866)
Telex 849041 SHARET G
Bill Richardson
' Minst
Chairman and
Managing Director
proc wipe
rem **kkx delete non-paying subscribers *x**xx
cls
display
select issues_due=0
all
sprint
print at 15,0;"Delete Cy/n)? ";
let ok$=lower (getkey())
print okf
if okg="y"
delete
print "DELETED"; tab 15
else
print tab 15
endif
endall
reset
endproc
Put some punch in your
PRINT AR fe gray eile
Digitized Misc. Sports Funny
Computers Animals
Zodiac Signs
Food Holidays
Xmas Transportation
Xmas
Over U different large & smatt
praphics in each col
$12.95 ppd each, $19.95 ppd for two, or
all three collections for $26.95 ppd
[Check or money order only.]
Available on tape or 5 1/4" DSDD LARKEN
or OLIGER disk - please specify.
+ | Send order to: =)
John McMichael, 1710 Paimer Dr.
Laramie, WY 82070
Dear PRINT FACTORY user,
Three all-new graphic
collections are now available
for the Print Factory
programs:
COLLECTION #4 - Misc., and
Digitized Misc.
COLLECTION #5 - Men/Boys,
Women/Girls, Male Faces,
Female Faces, Sports,
Holidays.
COLLECTION #6 - Funny, Xmas,
Animals, Transportation,
Computers.
Available on cassette, or 5
1/4 DSDD Larken or Oliger
disk, please specify when
ordering. NEW PRICES:
Collection #1 - #6 are now
just $7.95 each and this
includes ist class postage
paid.
ALSO
FOR SALE: extras--10 year
accumulation of excess 2X81,
TS1000, TS1500 and TS2068
computers, hardware, software,
books and magazines. For 3
page list please send SASE to
John McMichael, 1710 Palmer
Dr., Laramie, WY 82070.
16
Oh No! Not Another Interest Computation Program!
Once upon a time a few idle hours I did find. Oh me! Oh my! What to do? Well why
don’t I try this copy of IBMCOPY that has been sitting here. Ok, now that I have
it fired up, what am I going to try it on. Well, since I can’t use the bulk of
the IBM type of software I might try a BASIC program. Out went the word, I need
a victim! One of my scouts returned with a program to compute loan interests +
AND a book on the version of BASIC it was written in.
My first task was to see if I could make it work with the OL. I achieved that
goal. But, the program did not seem to have any flash, verve, it was so plain.
With out making too many changes to the basic concept of the program I began
to look at things I could try that would make the program easier to run and
nicer to look at. : :
One of the things I learned is that I STILL like SuperBasic. The other
lesson I discovered is that even in the IBM world, program writers do not always
use good programming techniques. !
The program is pretty much straight forward, just follow the prompts, and the
directions as they appear on the screen.
I intentionally did not make major changes in the basic structure of the
program. The primary goal was making the conversion process work. All facets
of the IBM Basic were translatable in this program. Toolkit did make the
process easier.
One of the nicer things I was able to achieve was the appearance of a
“window” for the directions for the various steps where you enter information
in response to the prompts. The math did check out to be a little better then
a PC with out a math co-processor. : :
100 REMark your P. C. Mortgage Aid, using ToolKit 2
110:
120 WINDOW 488,240,20,0 : OPEN #4,scr 224x94a122x130 : MODE 8
130 CSIZE 3,1 : CLS :; AT 2,8: PRINT "Your Computer"
140 CSIZE 1,0
150 AT 9,9
160 PRINT “Mortgage Aid"
170 PRINT \ ,"_ QL Version "
180 AT 19,1 : PRINT “Press space bar to continue"
190 IF INKEY$ <>" " : GO TO 190
200 MODE 4
210 DIM loan(500,2)
220 GO SUB 280
230
240 7
250 IF [$="1" : GO TO 500
260 GO TO 220
270 GO SUB 460
280 REMark -MAIN OPTION MENU
290 CLS : PRINT TO 22;" MORTGAGE ANALYSIS "
300 AT 3,8 : PRINT “OPTIONS - "
310 PRINT ,,"1 - Mortgage Payment Comparisons "
320 PRINT ,,"2 - Mortgage Amortization"
17
330
340
350
360
370
380
390
400
410
420
430
440
450
460
470
480
490
500
510
520
530
540
550
560
570
580
590
600
610
620
630
640
660
670
680
690
700
710
720
730
740
750
760
770
780
790
800
810
820
830
840
850
860
870
880
890
900
910
920
PRINT ,,"ESC KEY - EXIT"
PRINT \,, "OPTION NUMBER (1,2, OR ESC) =====>"\
CLS #4 : BORDER #4,2,4
PRINT #4;" MORTGAGE PAYMENT COMPARISONS"
PRINT #4;" - Use This Option To Compare"
PRINT #4;" The Monthly Payments Of"
PRINT #4;" Mortgages At Various Rates"
PRINT #4;" And Principal Amounts."
PRINT #4;" MORTGAGE AMORTIZATION"
PRINT #4;" - Use This Option To Calculate"
PRINT #4;" The Principal And Interest"
PRINT #4;" Paid Over Any 12 Month Period."
AT 8,51
I$=INKEYS
IF I$=""_: GO TO 460 : ELSE : PRINT I$; : RETurn
CLS
PF = AF*(RF/(1-(1/((14RE)ANF)))) > RETurn
REMark MORTGAGE COMPARISONS
CLS : PRINT " MORTGAGE PAYMENT COMPARISON PROGRAM "
CLS #4 : BORDER #4,2,4 &
PRINT #4;" MORTGAGE PAYMENT COMPARISONS"
PRINT #43" - Use This Option To Compare"
PRINT #4;" The Monthly Payments- Of"
PRINT-#4;" Mortgages At Various Rates"
PRINT #4;* And Principal Amounts."
PRINT #4
PRINT #4;" NOTE: To Select A Value Or Amount"
PRINT #4;" Enter The Appropriate Value"
PRINT #4;" And Press The ENTER Key."
AT a : INPUT “ENTER BASE MORTGAGE AMOUNT ===> ";A$
A=A .
IF A <= 0 : GO TO 600
AINC = 2000
AT 4,1 : PRINT TO 38
AT 5,1 : PRINT "(1 TO 35 PERCENT)";
at ore INPUT "ENTER BASE INTEREST RATE = ====> "3 IRS
IF IR>35 OR IR<1 : GO TO 660
R = IR/1200 : RINC = 2.5E-3/12
AT 5,1 : PRINT TO 38 7
AT_5,1 : INPUT "ENTER NUMBER OF YEARS IN MIG (1 TO 35 YEARS) =>";Y$
N = Y$ * 12
NF =N
IF NF>420 OR NF<1 : GO 10 720
CLS
PRINT “ MONTHLY MORTGAGE PAYMENT COMPARISONS "
AT 3,10 : PRINT Y$;"-YEAR MORTGAGE LOAN AMOUNTS";
AT 5,6 : PRINT "RATES",,," "3A;".00"
FOR I = 0 T0 14
AT 6+1,0
pu(INT(((R+(1*RINC) )*120000)+.5)/100)
RF = R+I*RINC : AF=1 : GO SUB 490
P = INT(((PF*(A) )+5.000001E-3)*100)/100
IF P>10000 : AT 22,1 : PRINT "PAYMENTS TOO LARGE TO DISPLAY" : GO TO 900
AT 6+1,29 : pu(P)
END FOR I
PRINT
PRINT .. "PRESS SPACE BAR TO CONTINUE"
IF INKEY$ <>" " : GO TO 910
GO TO 220
18
930 REMark - mortgage amortization
940 CLS : PRINT,,, " MORTGAGE AMORTIZATION PROGRAM "
950 CLS #4 : BORDER #4,2,4
960 PRINT #4;" MORTGAGE AMORTIZATION"
970 PRINT #45" - Use This Option To Calculate"
980 PRINT #4;" The Principal And Interest"
990 PRINT #4;" Paid Over Any 12 Month Period."
1000 PRINT #4
1010 PRINT #4;" NOTE: To Select A Value Or Amount"
1020 PRINT #4;" Enter The Appropriate Value"
1030 PRINT #4;" And Press The ENTER Key."
1040 AT 2,0
1050 INPUT "ENTER MORTGAGE AMOUNT =
1060 AF = A$
1070 IF AF <= 0 : GO TO 1050
1080 INPUT "ENTER INTEREST RATE (1 TO 35 PERCENT) =====> *;IR$
1090 IR = IR$
1100 IF IR<1 OR IR>35 : GO TO 1080
1110 RF = IR/1200 »
1120 INPUT "ENTER NUMBER OF YEARS (1 TO 35 YEARS) =====> ";Y$
1130 NF = Y$ * 12
1140 IF NF<1 OR NF>420 : GO TO 1120
1150 a SUB 490
1160 PF = INT((PF+5.000001E- 3)*100)/100
1170 PRINT “MONTHLY PAYMENTS ARE =
1180 PRINT "CALCULATING AMORTIZATION
1190 loan(0,1) =
1200 FOR I = 1 TO NF
1210 loan(1,2) = INT((loan(I-1,1)#RF+5.000001E-3)*100) /100
1220 loan(I,1) = loan(1-1,1)-PF+loan(1,2)
1230 END FOR I
1240 FOR I = 6 TO 23 : AT 1,0 : PRINT TO 77 ,
1250 AT 7,9
1260 PRINT "- 1 TO ";NF; " - 0 TO END AMORTIZATION"
1270 AT 6,1 ee "ENTER BEGINNING PAYMENT NUMBER OF 12 MONTH PERIOD ====== >
3 PERIOD:
1280 PD= PERIODS
1290 IF PD <> 0 : GO TO 1320
1300 IF PERIOD$ <> "0" : GO TO 1270
1310 GO TO 220
1320 IF PD<O OR PD>NF : GO TO 1270
1330 AT 6,1 : PRINT TO 70
1340 AT 7,1 : PRINT TO 70
1350 AT 7,1
1360 PRINT "PYMNT PRINCIPAL INTEREST BALANCE"
1370 TINT = 0
1380 FOR I = PD TO PD+11
1390 IF I> NF : GO TO 1420
1400 TINT = TINT + Joan(1,2)
1410 PRINT_USING "“### "31; : pu(PF-loan(1,2)) : pu(loan(1,2)) : pu(loan(I,1))
1420 PRINT : END FOR I
1430 PRINT \ "INTEREST FOR 12 PERIODS ="; : pu(TINT) : PRINT
1440 PRINT \,,,"PRESS SPACE BAR TO CONTINUE";
1450 AT 0,0
1460 IF INKEY$ <> """ : GO TO 1460
1470 GO TO 1240
1480 :
1490 DEF ine PROCedure pu(x)
1500 PRINT_USING " ######. ##"5x;
1510 END DEF ine
19
BOOTSORT WITHOUT TK2
The following version of the selective
menu-loader (BOOTsortCOPY) may be used
without initializing TK2. It automati-
cally shows only Basic titles (any
without _ext) in sorted order. It does
not have the COPY feature but responds
more quickly and may be useful as a boot
routine on disks which have both Basic
and data files. MDV users should change
RAM1_ to drive$ and line 240 flp to mdv.
BOOT sortBAS
1@ MODE 4
2@ FLP_USE fip
36 GO SUB 226: REMark Create DIR file
4@ REMark Display menu
5@ PAPER @: INK 7: CLS: PAPER #@,7: INK
#6,:-CLS #6
6@ OPEN_IN #7,’RAM1_” & ’cat_dat’
7@ INPUT #7,line$: CLS: PRINT ’CATALOG-’
;line$,: INPUT #7,line$: PRINT line$
86 CLOSE #7
9@ PRINT #@\\’ Key any CHR to scroll] E
NTER to load’\’ N for NEW CATALOG £ for
SDATE: ’;DAY$;’ ’;DATE$
108 LET F=1: x=7: Y=2: C=INT(FI/18): DIF
SINT ((FI/18-C)*18+.4): row=1: lop=17
11 LET Q$=’p’: IT=2: IF lop>=FI THEN lo
p=FI: GO TO 138
12@ FOR I=1 TO C: FOR m=@ TO lop: AT row
+m,7: PRINT ,,,: AT rowtm,8: PRINT f$(IT
): LET IT=IT+1: NEXT m: GO SUB 16%: NEXT
I: FOR I=1 TO 19: AT I,7: PRINT ,,,: NE
XT I: IF NOT DIF THEN GO TO 118
138 IF F THEN FOR m= TO DIF-2: AT rowtm
>?: PRINT ,,,: AT rowtm,8: PRINT f$(IT):
LET IT=IT+1: NEXT m: IF lop>=FI THEN F=
®
14@ IF NOT F THEN IT=FI
1§@ GO SUB 168: GO TO 118
16% FOR L=@ TO m: AT rowt+L,7: PRINT 7>’:
FOR k=1 TO 5: NEXT k: IF Q$<>’’ THEN FO
R k=1 TO 198: NEXT k: LET Q$="’
17 LET A=CODE(INKEY$): IF A=@ THEN LET
Q$='p’: GO TO 176
186 IF A=96 THEN CLS #9: INPUT #2;’mo ’;
mm;’ da ’;dd;’ year ’;yy\’hr ’s;hr;’ min
’;min: sec=@: SDATE yy,mm,dd,hr,min, sec
GO TO 40
19% IF A=78 THEN GO SUB 228: GO TO 48
200 IF A=1% THEN GO TO 21%: ELSE AT rowt+
L,7: PRINT ’ ’: NEXT L: RETurn
218 LET POS=IT+L-m-1: END IF :
drive$=dr
20
ive$ & f$(POS): LRUN drive$
226 CLS #@: PRINT #0; *CATALOG drive #’;
238 drive$=INKEY$: IF drive$<’1’ THEN GO
TO 238: ELSE PRINT #@;drive$
240 drive$='flp’ & drive$ & ’_’
250 DELETE ’RAM1’ & ’ cat dat’: OPEN NEW
#7,’RAM1_’ & ‘cat dat’
260 DIR #7,drive$: CLOSE #7
27@ REMark Load DIR from RAM
280 DIM f$(1280,24)
296 OPEN_IN #5,’RAM1’ & ’ cat _dat’
300 FOR n=@ TO 1220
310 IF EOF(#5) THEN CLOSE #5: LET dirend
=n: GO TO 358
328 INPUT #5,f$(n)
330 clen=LEN(f$(n)): IF clen<4 THEN NEXT
n: ELSE IF f$(n,clen-3)=’_’ THEN GO TO
318
348 END FOR n
352 IF CODE(f$(dirend))=@ THEN LET diren
d=dirend-1
368 LET FI=dirend
37@ REMark Re-order DIR from RAM
388 PRINT #2;’ Please wait for re-orderi
ng’ -
392 LET m=dirend: s=m: cnt=0 ei
40% LET s=INT(s/2): IF s<1 AND NOT cnt T
HEN GO TO 489
419 IF s/2=INT(s/2) THEN LET s=st1
428 FOR n=2 TO ms
43@ LET cnt=6
448 LET j=n
450 IF f$(j)>f$(jts) THEN LET x$=f$(j):L
ET f$(j)=f$(j+s): LET f$(j+s)=x$: LET j=
j-s: LET cnt=cnt+1: IF j>@ THEN GO TO 45
®
466 END FOR n
472 GO TO 400
488 RETurn
906 DELETE flp1_BOOTsortBAS: SAVE flp1_B
OOTsortBAS , c
91% DEFine PROCedure sv: DELETE f1p1_BO0O
T: SAVE f1p1_BOOT: END DEFine sv
O eli
Interriation eport
?
15 Kilburn Court , Newport, Ri 02840 USA
CABLE COLUMN
By Bill Cable
ARCHIVE SERIES
PART 8 : ORDER and SELECT COMMANDS
The ORDER Command was introduced in the last issue of
UPDATE. Now we will complete our discussion of it and
move on to the SELECT Command. The ability to order
on the fields of a database and quickly locate needed
information using that order is the most powerful feature of
a database system. It repays us for all the effort it takes
to organize our information in the record/field format.
Although we have covered the general principles of order
we need to give a few more examples and also illustrate
the difference between ordering a “looked" database
versus an "opened" database. Next we will explore the
SELECT Command which allows us to make temporary
subgroups of our database by specifying certain criteria
about the fields.
Before getting into that let's celebrate the fact that this
series is marking the end of its second year. During that
time, UPDATE has provided a reliable soap box for me to
stand on preaching the virtues of this excellent database
system. | even hear from time to time that the column is
being read and used. | have tried to make the series easy
for beginners to join at any time but soon we will start
building on what we have covered and begin writing
ARCHIVE programs. The best kind of programs for this
column to cover are ones that will be useful to its readers.
Please feel free to request programs covering subjects of
interest to you. For those wanting a complete collection of
the series, back issues of UPDATE are still available and
here is an issue index :
UPDATE ISSUE INDEX FOR THE ARCHIVE SERIES
Jul 90 Part 1: Database Concepts 14-17
Oct 90 Part 2: Archive Data Structure 37-40
Jan 91 Part 3: First Commands 23-25
Apr 91 Part 4: Create, Open, Insert Commands 25-26
Jul 91 Part 5: Alter and Delete Commands 33-34
Oct 91 Part 6 : Find,Search,Continue Commands 36-37
Jan 92 Part 7: Order, Locate, Reset Commands 33-34
Apr 92 Part 8: Order and Select Commands
Altogether it comprises 20 pages of practical ARCHIVE
tips gained through extensive experience. tt should prove
invaluable to anyone wanting to use ARCHIVE. Maybe
you don't have time to seriously tackle ARCHIVE right
now but if you have the issues the information will be there
when you need it. That is why its important to keep
supporting UPDATE, !QLR and User Group publications.
Information gets collected in a nice format so we have it
when we need it. | would also like to encourage others to
write more for these publications. 1 have never read a QL
related article that didn’t give me some useful information
and insight. Never feel that your experiences are too
insignificant to share. How hard is it write an article?
Load QUILL and put down your thoughts. Save it to a disk
or microdrive. Send it to the intended publication and you
will have made one editor's day.
PREPARATION
In the description below | will "italic" what you should
enter to participate in the examples. We will use the
OPEN command on the GAZET_DBF database supplied
with ARCHIVE and permanently change it so make sure
you use a copy and not your master. Start ARCHIVE
(DATABASE) and go through the following collection of
commands as a refresher. <ZNTER> means press the
ENTER key :
look -/)gazet’<ENTER>
print count‘) <ENTER>
print recnum)} <ENTER>
display<ENTEF>
Q=device,mdvi_,fipi_, etc
see how many countries
current record number
display current record
find <ENTEK> find something
print £ i/<ENTER> — current record number
next<ENTER> move forward one
display<ENTER> see current record again
search pop-+100<ENTER> field meeting condition
continue<ENTER> next one
order pop, a<ENTER> order by population
locate 100<ENTER>
det a=50<ENTER>
locate a<ENTER>
locate on population
use variable with locate
ORDER COMMAND (continued)
In Part 7 we covered the basics of the ORDER Command.
We saw that we can quickly define one order for an
ARCHIVE database using 1,2,3, or 4 fields.. It is usually
Not useful to order on move than 2 fields. If we had an
address database with fields for last name and first name
it is easy to see that it would be handy to have order by
last name and then first name so we could separate
people with the same last name but different first names.
Having only one order available at any given time is a
handicap. PSIOQN’s PC version of ARCHIVE can keep 4
sets of order active at the same time and is the one big
advantage of PC ARCHIVE over QL ARCHIVE. For a
book catalog database it would be nice to be able to look
up by title or author at a moments notice. With QL
ARCHIVE we can have it ordered on one or the other. If
we want a different order we have to execute the ORDER
Command and wait for a short time for the new order to be
completed. Let us order GAZET by continent and
population and play with that :
order continent$ sa, popsd<ENTER>
lopate “EUROPE*. 1000<ENTER> most populous first
next<ENTER> population decreases
<F52<ENTERS~
locate “ASIA”, 100<ENTER>
locate *E”<ENTER>
first ASIA under 100
first EUROPE
a1
"EUROPE"<ENTER> just beyond EUROPE
locate
These are tricky because there are two fields In the order -
and the seoond field, pop, is ordered in descending order.
Try the same order command only replace the "d" after
pop by an "a" and try the same commands. Leaving out
the 2nd field in locate defaults to O or null.
One property of an ARCHIVE database is that whatever
order existed under the last OPEN access will be the one
that is in effect the next time the database is “looked” or
“opened”. If you only ordered the database when it was
accessed by “look" then no order is in effect when it is first
accessed. Try the following :
close<ENTER> close GAZET_DBF
open “{}gazet"<ENTER> device (mdv1_,flp1_,etc)
order country$:a<ENTER> make a permanent order
close<ENTER>
look "{)gazet"<ENTER>
locate "D"<ENTER> locates by country
order capital$:a<ENTER> make new order
locate "D"<ENTER> now locates by capital
close<ENTER> =
look "{)gazet"<ENTER>
docate "D" <ENTER> order by country still on
reset<ENTER> remove all order
locate "D" error 8 since no order
close<ENTER>-
What | find useful for each database is to define the
primary (permanet) order (most commonly needed order)
with the database accessed with OPEN. Then | define
other orders and select or reset only while looking at the
database so | never remove the primary order. To get my
primary order | only need close and look or open again
{usually faster than reordering a large database). Any
order in effect is maintained while adding, altering, or
deleting records. Only the RESET or ORDER commands
will alter the current order. Remember that there is no
way to tell what the current order is. You must keep track
of that yourself.
SELECT COMMAND (FILTERING)
The SELECT command allows one to select a subgroup
from the currently selected tecords. It has the form :
select (field condition1) and/or (field condition2) ....etc.
Each field condition evaluates to a numeric expression
usually a logical statement (0 is false, nonzero true).
When a database is first accessed all records are
selected. Each time a select command is executed some
records can be filtered out depending on the select
condition. Any order in effect when a selection is made
remains in place after the selection. If a reset is done to
make all records active again then all order is lost. If the
database is being “looked” at then any permanent order
made when it was "opened" will still remain when it is re—
accessed again.
took *{)gazet"<ENTER> {}=device mdv1_,fip1_, etc
print count ()<ENTER> all records active
display<ENTER> display current record
docate “D"<ENTER> country order active
select pop>20<ENTER> countries with population>20
print count ()<ENTER> see how many now active
display<ENTER>
locate "D"<ENTER> no "D" so "EGYPT"
select continent$~*ASIA*<ENTER>
print count ()<ENTER>
display<>ENTER>
next<ENTER>
<F5><ENTER>
(repeat until end is reached)
We ended up with all Asian countries with a population of
greater than 20 million still ordered by country. We could
have done the selection in one statement :
reset:print count (}<ENTER>
select pop>20 and continent$="ASIA"<ENTER>
print count ()<ENTER>
display<ENTER>
We could use an or statement to get quite another
subgroup
reset<ENTER>
select pop>20 or continent$="ASIA"<ENTER>
print count (}<ENTER>
Now we have all countries with a population greater than
20 million or in Asia. Using the INSTR() function allows for
interesting options (see pg 51 ARCHIVE manual).
reset<ENTER>
select instr (languages$, "ENGLISH")<ENTER>
print count ()<ENTER>
display<>ENTER>
Now we have selected all countries which have English as
a major language. A quick way to see all selected records
uses the ALL statement which will be described later :
all:sprint:endall<ENTER>
You noticed that "ENGLISH" appeared somewhere in the
Languages$ field. The INSTR() function allows us to make
use of that even though other words may also appear in
the field. We could see the same records although not
select them using the SEARCH Command which uses
syntax similar to the SELECT Command :
reset<ENTER>
search instr (languages$- “ENGLISH")<ENTER>
while found{) : sprint: continue; endwhile<ENTER>~
The WHILE Command will be covered later but is
illustrated to show ARCHIVE has many tools available.
The SELECT Command is a powerful tool that allows the
“user to temporarily work with a subgroup of the database
meeting specified conditions. Using the EXPORT
Command (described later) the subgroup can even be
exported to be its own database if desired.
Next time we look at the UPDATE Command and WHILE
Command and write some single line programs. Until then
Happy Archiving!
22
USING QUILL FOR ASCII FILES
Bob Hartung, 2416 N. County Line Road, Huntertown, IN 46748
One of the features of QUILL (WP) that
somehow got lost in the translation of
the v.12/84 QLUG is that ASCII files may
be saved and loaded using the PRINT and
IMPORT modes, respectively. By using
XOVER or a similar program, files may be
translated to DOS in this format, which a
DOS line-editor and most wordprocessors
will accept.
This facility may also be used to
create DO files and source code for com-
pilers, as well as a means of providing
full-screen editing for those who do not
have the TOOLKIT ED capability.
Since the process re-directs to
storage media the output that ordinarily
would go to the printer, the printer_dat
which is used must first be amended for
this purpose. An easy way of doing this
is to CLONE QUILL and its data files to a
new disk or mdv cartridge. The _HOB file
may then be deleted to make more room if
desired.
Enter LRUN flp1_INSTALL BAS (or mdv1_)
and key ENTER to accept the SER1 and
flp1_ or mdv1_ prompts. At the menu move
the cursor to OTHER and key F2 for EDIT.
Rename OTHER to PROGRAM (key the right-
cursor to go to entry mode), set LINEFEED
to LF only, and toggle CONTINUOUS FORMS
to YES. When done, key F5 to install
this driver. Key ESC or RESET to return
to Basic.
If you want to access the printer_dat
file from RAM1 instead of drive one each
time PRINT is called, it will be neces-
sary to run the CONFIG_BAS program and
reset the location of SYSTEM files to
RAM1_ so the program will look there for
the printer. data. (Refer to CONVERT_BAS
to reconfigure v. 2.35.) After doing
this, load the BOOT routine and insert
this command in a line preceding the EXEC
call: COPY flpi_printer_dat TO RAM1_
printer_dat (or use COPY mdv1_....) Use
this copy of BOOT, QUILL, and data when-
ever you load in or save ASCII files.
To simplify creating new files, set up
a dummy file on this disk or mdv with
LEFT margin, INDENT, UPPER and BOTTOM
margins, PAGE size, and line GAP all set
to zero, and RIGHT margin set to 80.
Source code files require this, and files
in a DOS wordprocessor may then be re-
formatted more easily. Page headers and
footers will also be output with ASCII
text files unless turned off or the page
size is pre-set to zero
, Load this dummy file whenever creating
a QUILL file that will be output as ASCII
data. Keep in mind that F4 and’ other
command-codes will be stripped from the
text data when it is saved as ASCII code.
Some imbedded TRANSLATE characters may
remain but will not be recognized by a
DOS wordprocessor, and of course should
not be used in Basic, or DO, or source
code files. Set JUSTIFY to left margin
and do not use wrap-around lines in
source code files, Basic or DO listings.
Having done all this, to save a file
in ASCII from this QUILL format simply
key F3, P for PRINT, ENTER for current
file, ENTER for whole file, and when the
"to printer" prompt appears, enter the
filename of eight characters or less.
Note that _lis is appended to files saved
in this manner, which you probably would
want to omit for DO and Basic files by
renaming them after they have been saved.
(A RESET must be done before calling a DO
routine if QUILL or another EXEC program
has been used previously.)
To IMPORT (load in) an ASCII file or
Basic or DO listing it must also have or
be renamed toa filename with the lis
suffix. Key F3 twice for COMMAND II then
F for Files and I for Import. Enter the
filename, including _lis, then at the
prompt for type of input, select Line.
To use the XOVER program supplied with
PC Conqueror, first use RESET then
execute the program with EXEC flp1_XOVER.
Place a pre-formatted DOS disk in drive 1
and your QDOS ASCII file disk in drive 2.
Key CTRL C to activate XOQVER and follow
the menu prompts for "Export files (QDOS
> DOS)". Since it is accepted practice
to give DOS text files the suffix, .TXT
you may want to use the DOS REN command
to rename files for easier recognition.
I did not have a PC or clone to test
these ASCII files in a DOS wordprocessor
like Word, WordPerfect, or WordStar but
they worked fine for me under PC Con-
queror, using Spinnaker EZ-Writer with
spellcheck and the Disk-Count EDIT line-
editor, as well as the DOS EDLIN routine.
23
260 IF A=96 THEN CLS #0: INPUT #2;’mo ’;
mn;’ da ’;dd;’ year ’;yy\’hr ’shr;’ min
’smin: sec=@: SDATE yy,mm,dd,hr,min,sec:
GO TO 49
26@ IF A=78 THEN GO SUB 298: GO TO 48
276 IF A=1® THEN GO TO 286: ELSE AT row+
L,7: PRINT ’ ': NEXT L: RETurn
288 LET POS=IT+L-m-1: END IF :
ive$ & ct$(POS): LRUN drive$
298 CLS #0: IF cpy$="C" THEN PRINT #0;”
COPY from catalog in drive #°;: ELSE PRI
NT #0; ’CATALOG drive #’;
308 drive$=INKEY$: IF drive$<’1’ THEN GO
TO 300: ELSE PRINT #@;drive$
31@ INPUT #6\’ <ENTER> for PROGS only, o
r leading chrs. in title(s) or extension
’\? EG: <CHRS> <_doc> <_dbf> <_lis> <_da
t> for wildcard DIR ’;suff¢
320 drive$='’flp’ & drive$ & ’_’:
ive$ & ’_’ & suff$
338 OPEN_OVER #7,’RAM1_’ & ’cat_dat’
340 WDIR #7,wdr$: CLOSE #7
35@ OPEN_OVER #7,’RAM1_’ & ’cat_nm’
368 DIR #7,drive$: CLOSE #7
37@ OPEN_IN #7,RAM1_cat_nm: INPUT #7,cnm
$: CLOSE #7) ~
388 IF cpy$="C" THEN GO TO 4@@: ELSE PRI
NT #2\\" RE-ORDER y/n? “
39M yn$=INKEY$:IF yn$<’1’ THEN GO TO 398
400 IF cpy$="C" THEN yn$="y"
41@ REMark Load DIR from RAM
426 DIM F$(190B,24)
430 OPEN_IN #5,RAM1_cat_dat
448 FOR n=@ TO 1080
456 IF EOF(#5) THEN CLOSE #5: LET dirend
=n: GO TO 498
460 INPUT #5,f$(n)
47® clen=LEN(f$(n)): IF clen<4 THEN NEXT
n: ELSE IF suff$="" AND f$(n,clen-3)=’_
’ THEN GO TO 456
488 END FOR n.
496 IF -CODE(f$(dirend))=@ THEN LET diren
d=dirend-1
5@@ IF yn$=="y’ THEN GO TO 51: ELSE GO
TO 626
51@ REMark Re-order DIR from RAM
520 PRINT #0;’ Please wait for re-orderi
ng’
538 LET m=dirend: s=m: cnt=@
548 LET s=INT(s/2): IF s<i AND NOT cnt T
HEN GO TO 628
550 IF s/2=INT(s/2) THEN LET s=s+1
668 FOR n=@ TO m-s
576 LET cnt=@
588 LET j=n
598 IF £$(j)>f$(j+s) THEN LET x$=f$(j):L
ET f$(j)=f$(jts): LET f$(j+s)=x$: LET j=
driveg$=dr
warg=dr
j-s: LET cnt=cnt+1: IF j>@ THEN GO TO 59
7)
6@@ END FOR n
618 GO TO 548
628 REMark Re-save DIR to RAM1
630 IF cpy$="C" THEN GO SUB 726
64% OPEN OVER #5,RAM1_cat_dat
650 PRINT #5,cnm$: PRINT #5," ”
666 FOR n=@ TO dirend
678 IF CODE(f$(n,1))=® THEN GO TO 696
688 PRINT #5,f$(n)
699 END FOR n
70D CLOSE #5
719 RETurn
72@ REMark COPY source drive 1
drive 2
738 CLS
74@ AT 18,6: PRINT ’Place SOURCE media i
n drive 1 & DEST media in drive 2’\’Key
F to format drive 2 media’\’Press any ot
her key to start copying’
758 fdt$=INKEY$: IF CODE(fdt$)=@ THEN GO
TO 758
768 IF fdt$=="F" THEN CLS: CLS #@: INPUT
#0\\’ ALL DATA WILL BE LOST ON DRIVE 2
-- Key ENTER to abort FORMAT’\’ or enter
DRIVE 2 format title: ’;fdt$: IF fdt$="
" THEN GO TO 740: ELSE PRINT #0; Please
wait -- FORMATTING ’;fdt$: FORMAT “flp2_
“ & fdt$: CLS #0: GO TO 749
776 FOR n=® TO dirend
786 IF CODE(f$(n,1))=@ THEN GO TO 8@0
79 COPY fip1_ & f$(n) TO flp2_ & f$(n)
80% END FOR n
818 RETurn
90% SAVE f1p1_BOOTsortCOPY
918 DEFine PROCedure sv: SAVE flp1_BOOT:
END DEFine sv
TO dest
A COMPOSITTE BOOSTER
= -- Bob Hartung --
If the composite output signal from
your QL or 2068 does not seem to be at
the proper level to provide a steady dis-
play on your monitor, you might want to
consider inserting the video output of a
YCR dubbing enhancer between the computer
composite video output jack and the moni-
tor composite input jack. I have had good
results with the RECOTON ($29 + S&H from
DAMARK or C.0.M.B.) but any with an ad-
justable video gain control, such as the
one sold by Radio Shack, should do as
vell. Please note that because of the
many possible variables in usage and
equipment I cannot accept responsibility
for any damages or undesirable results
24
MECHANICAL AFFINITY
‘ : ‘
For the best prices on QL related items in North America and an
honest attempt to fill your order contact Frank Davis at
MECHANICAL AFFINITY, 513 East Main, Peru, IN 46970, or Paul,
Holmgren at MECHANICAL AFFINITY, 5231 Wilton Wood Ct,
Indianapolis, IN 46254. Examples of prices and items to be found
there! All prices quoted are in US dollars.
GOLD CARDS, disk interface, 2 meg of memory and your QL
running at 16 mHz, 3 disk drives can be used, and uses
the 1.44 meg, 3.2 meg drives as well as the 360K and 720K
drives, and for only $500 + $10 for insurance.
TRUMP CARDS, disk interface, 896K total memory and Tool Kit
2,print spooler, screen dump, and for only §225 total
cost which includes shipping.
Replacement keyboard membranes for only $15. Replace that
faulty membrane and put your QL to use.
Backup QL power supplies for only $15. Original equipment
power supplies, the last of their kind.
Backup QL for only $80 + $5 for shipping. U.S. QL with JSU
ROM, power supply, TV cable.
Miracle disk drive adaptor to allow your Trump or Gold Card
to access 4 disk drives for only $40. Requires 1.28 or
higher ROM chip on your Trump Card to use. Let us know if
you need to replace the Trump eprom (available for $12).
Internal battery backed clock for QL, uses lithium battery, so
should be good for far longer than ordinary batteries. This
plugs in where the 8032 goes, and the 8032 is then
installed in it. $20 for brd & battery, or $26 installed.
NEW FOR THE Z88!
Soft carrying case for the Z88. Protect your notebook sized
computer from accidents and the elements. This case is also
handy for those with the Laser PC3, Compumate 3 or PC4. $10
Ts1000 !
Tom Bent's improved 8K TS1000 ROM on eprom. $10.00 Requires at
least 16K RAM expansion to operate, but bug corrected. $12 if we
supply the special socket.
FLOPPY DISKS!
5 1/4 floppies DSDD --- $18 for 100 (360K or 720K)
5 1/4 floppies DSHD --- $20 for 100 (1.2 meg)
These prices include shipping. r
TS2068!
T82068s with cables and manual fot only $50 postpaid.
182040 printers with 3 rolls of thermal paper for $30 postpaid.
TS2050 modems for TS2068 or TS1000 for only $35 postpaid.
We accept personal checks, money orders, company checks and
cash. No charge cards please at this time. We hope to be of
service to you. For a complete catalog, send a large self
addressed envelope to either of the above locations.
A SELECTIVE MENU—-LOADER
Bob Hartung,
On QL utility disks which contain
both Basic and data files, this program
provides for the display of only the type
of titles selected for an auto-loading
menu, in sorted or unsorted order. By
changing line 316 to LET suff$="" and
line 398 to LET yn$="y" it may be used as
a BOOT routine that brings up only file
titles for Basic programs or DO files.
Selected types of files may be copied in
sorted order from drive 1 to drive 2.
Because it utilizes the WDIR command,
TOOLKIT II is required.
The program assumes that a convention
is followed in using a three-character
extension following an underscore for all
data file titles, eg: _doc _dbf _lis _txt
etc. Basic or DO titles either have no
such extension or else more or less than
three characters follow any underscore in
them.
The program may be used
as selected when it comes
entry is prompted for the wild card set
of characters to be used by the WDIR com-
mand. If ENTER only is keyed, only the
files will be shown that have no three-
character extension it their titles. If
an underscore does not precede characters
used in a wild card set then a directory
will be shown of all titles having that
set as the beginning of the title or as
the beginning of an extension.
It may be noted that a DIR file (cat_
nm) is stored in RAM1 as well as a WDIR
file (cat_dat). The reason for this is
that WDIR does not provide disk format
and title information when used in this
manner, so the title is extracted from
this DIR file and the rest is discarded.
on any drive,
up. Next, an
& NOTE RE: DIRDATCOPY
Because of a quirk in the way the QL
handles the field-lengths of previously-
used array elements, the sorting and COPY
routines may give uncertain results. To
correct this, change line 758 of the DIR-
datCOPY routine to correspond with line
598 of this listing, and line 93@ should
be revised to correspond with line 79% in
this listing. Sorry about that!
Also, in case you missed it in Frank's
comments in the 1/92 UPDATE, line 120 of
the printed DIRdatCOPY listing should be
2416 N. County Line Rd. E., Huntertown, IN 46748
+ GOTO 218 instead of ... GOTO 229. All
these corrections and BOOTsortCOPY will
be included in my QL ISSUE disk if pur-
chased after 3/1/92.
BOOTsortCOPY
1 TK2_EXT: REMark May be omitted if TK2
activated previously
1® MODE 4
26 FLP_USE flp: REMark Or FLP_USE mdv
38 cpy$="": GO SUB 299
46 PAPER @: INK 7: CLS: PAPER #8,7: INK
#0,0: CLS #@
56 DIM ct$( 1800, 24)
6@ OPEN_IN #7,’RAM1_” & "cat_dat’
7@ INPUT #7,1ine$: CLS: PRINT ’CATALOG-’
;lineg
8@ FOR x = @ TO 1900
98 IF EOF(#7): LET FI=x: GO TO 138
198 = INPUT #7,ct$(x)
118 clen=LEN(ct$(x)): IF clen<4 THEN
NEXT x: ELSE IF suff$="" AND ct$(x,clen-
3)=’_’ THEN GO TO 99
126 END FOR x
138 CLOSE #7
14@ IF CODE(ct$(1))=@ THEN PRINT “NO “;s
uff$;" FILES FOUND": GO TO 2¢
156 PRINT #@\\’ Key any CHR to scroll
ENTER to load C to copy sorted files’\
’ N for NEW CATALOG £ for SDATE: ’;DAY
$;? ? ;DATES
16@ LET F21: x=7: Y=2: C=INT(FI/18): DIF
=INT ((FI/18-C)*18+.4): row=1: lop=17
17@ LET Q$=’p’: IT=1: IF lop>=FI THEN lo
p=FI: GO TO 198
188 FOR I=1 TO C: FOR m=@ TO lop: AT row
+m,7: PRINT ,,,: AT rowtm,8: PRINT ct$(I
T): LET IT=IT+1: NEXT m: GO SUB 220: NEX
T I: FOR I=1 TO 19; AT 1,7: PRINT ,,,: N
EXT I: IF NOT DIF THEN GO TO 176
198 IF F THEN FOR m=@ TO DIF-2: AT rowtm
»7: PRINT ,,,: AT rowtm,8: PRINT ct$(IT)
: LET IT=IT+1: NEXT m: IF lop>=FI THEN F
=0
208 IF NOT F THEN IT=FI
218 GO SUB 226: GO TO 179
228 FOR L=@ TO m: AT row+L,7: PRINT 7>’:
FOR k=1 TO 5: NEXT k: IF Q$<>’’ THEN FO
R k=1 TO 18%: NEXT k: LET Q$=’’
23@ LET A=CODECINKEY$): IF A=@® THEN LET
Q$=’p’: GO TO 230
248 LET cpy$="": IF A=67 THEN cpy$="C"
GO SUB 29%: GO TO 49
26
HARA CONFERENCE AND EXHIBITION CENTE 1001 SHILOH SPRINGS RD.DAYTON,OHIO
VENDOR INFORMATION
Register now for your booth(s) at the 17th annual Computerfest, August 29 and 30, at Hara Arena and Conference Center, Dayton,
Ohio. Computerfest is the largest and longest running computer show in the midwest. The past few years have seen tremendous
growth in both vendors and attendees. Computerfest ‘91 drew over 15,000 people, double that of 1989. Early registration will
help secure the space you want
The sales area at Computerfest ‘92 is divided into two parts - the professional area and the flea market area.
PROFESSIONAL BOOTHS FLEA MARKET SPACE
200.00 until June 30, 1992 $25.00 until June 30, 1992
e000 July i 1992 and thereafter $30.00 July 1, 1992 and thereafter
Professional Booths are 10’ x 10’, with two draped tables, Flea Market spaces are 6 x 8’, with one table and one chair.
2 chairs, and backdrop. Admission is included. Admission is extra, $5.00 per person (good for both days).
Friday night set up is available at no additional charge. Friday night set up is available for $25.00 per vendor.
All Professional Booths and flea market spaces have electricity (120 VAC) provided at no extra charge.
Normal set-up is 6 AM to 10 AM on Saturday. Friday night set-up from 6 PM to 10 PM is available
To reserve your space(s) at Computerfest ‘92, complete the Vendor Registration form below and return with your check in the
correct amount for the space(s) and services you require, and mail to Mark Hanslip, Vendor Relations.
MARK HANSLIP
; ' 143 Schloss Lane
D A For more information, contact: Payton, Ohio 45418
EST
(513) 263-1
(OMPUTERFEST: ')) VENDOR REGISTRATION FORM
Company or Group Name
Street Address
City/State/Zip Code n
Contact Person Phone (, ).
oO I would like to reserve professional space(s) @ $200 ($250 after June 30)... . Amount
1 need ___ tickets for the personnel in my professional booth (no charge).......... Amount
oO I would like to reserve _____ flea market space(s) @ $25 ($30 after June 30)........... Amount
Admission is extra, $5.00 per person, good for both days
oO Ineed___ admission ticket(s) @ $5.00 ea (good for both days)... .. Amount
[J [want to set up on Friday night from 6 PM to 10 PM
Professional booths no charge Flea market spaces $25 per vendor. ‘ . Amount
TOTAL ENCLOSED
‘
DM A Make checks payable to “DMA Computerfest” and mail with this form to:
Mark Hanslip, 143 Schloss Lane, Dayton, OH 45418 7
Compunertest Is a registered rademérk of The Dayton Mixocomputer Association ,
NEW!! In-stock from Software#? the best
value WYSIWYG QL word-processor: text®!plus4
with Qtyp spell checker, Quill-like interface
many new features (and unlimited North
America help.) improved speed & fonts, etc.
text#! plusd $139.95
WYSIWYG wordprocessor & Qtyp spell checker
fountext##: graphic driver 4mdvs 49.95
WYSIWYG output to 9 or 24 pin with 32 fonts
founted#§: screen font editor 1 mév 29.95
Make text87 custom fonts
2488: 24 pin driver 5S mdvs 29.95
for text87 only
Order two or more Software’? titles and take
10% off the second title, 15% off the third
and fourth.
Boutal, Chris
QL_GENEALOGIST (2nd ED) $4.95
Family history with UK royal family demo
ASK about SECOND EDITION upgrade 23.95
CAPE Software
RECIPE ver 2.0 NEW Tmdy 19.95
Recipe card file _dbf and demo
EMSoft
MAILBAG ver 3.1 Tmdv 24.95
Mailing list _dbf with demo
QLAND_LORD ver 3.1 (R) Jimdv: 24.95
Real Estate management _dbf
TRUST_FUND ver 3.1 Tmdv 24.95
Stock, Bonds etc _dbf with demo
INVENTORY ver 1.3 Tmdv 14.95
Personal property record keeping _dbf
EMSoft title upgrade(with original) 4.95
TAX-1-QL/91 CANCELLED
MJM Software
CAM MASTER demo --JSU only; 384K Ram) 9.95
CAM MASTER site license 2850.00
Platypus Software
QLUSTer Tmdy 12.95
EXECutable, multi-tasking files handling
QLUMS i tmdy 19.95
Pseudo MS-DOS file handling on a QL
Qfile
HS-QLINK (R) tndv 24.95
Read/write/format QL/MS-DOS/Atar i-TOS
DISCOPY Tmdv 14.95
Fast copier between QL/MS-DOS/Atari-TOS
MS-QLINK with DISCOPY 2mdvs 34,95
Sector Software
FILES2: Taskmaster Files upgrade 24,95
Now multi-tasks in ANY environment (R)
Williams, Richard
TABYEDITOR (R) 2mdvys 34.95
iendly Editor with vertical block defini
& 8 columns in 19" with word wrapping
EMS oft Software for the GUL that really works
Wood & Wind Computing
CHAOS BUSTERS 29.95
SuperBASIC to ARCHIVE utilities & OBEasy
DBEasy: UN or EXpanded QL 3 mdvs 21,95
User friendly front end for ARCHIVE (R)
DBProgs 1mdv 19.95
6 useful ARCHIVE utilities
DBTutor: UN or EXpanded QL 3 mdvs 24.95
Archive "Flash card” to teach yourself
HELPER 1 mdv 9.95
SuperBASIC filehandl ing utility
DILWYN JONES COMPUTING
FILEMASTER (R) tmdv 23.95
File handling utility
THE GOPHER (R) Tmdv 23,95
File finding utility
QL BASIC REPORTER 1mdv 19.95
$8 Programming aid
QUICK POSTER (R) 2 mdvs 19.95
Easy to use poster/bumper sticker prog
SUPER DISK INDEX (R) 1mdy 23.95
The easy file cabinet for all your files
BOOKS & MAGAZINES
Syntax magazine set & Foyt book 29.95
Al] 48 monthlies, 3 quarterlies & book
Syncware News 19.95
All 30 issues (5 vols - 6/vol)
Quantum Levels 19.95
All.12 issues (2 vols - 6/vol) =
SPECIAL THRU 05/29/92 postmark
Any 2 sets take off $10.00; all 3 for 49.95
The Secret Guide to Computers 15.00
Delightful, entertaining and informative
HARDWARE
T/S BUS Connector/Extender (3 pack) - 13.95
T/S BUS Connector/Extender 3*(3 pack) 26.95
All prices are postpaid in N.A.
(but subject to change without notice.)
Choice of disk size/format: specify number of
sectors, Add $4.00 per mdv
(See number of mdvs required next to price)
Send #10 SASE for review (R), if available.
FREE CATALOGUE
EMSoft
P.O, Box 8763
BOSTON MA 02114-0037
(1-617) 889-0830
NESQLUG DEMONSTRATES NEW QL EXTENSION
NESQLUG (New England Sinclair QL User Group) demonstrated at their April
meeting a new extension called PROD developed in collaboration with
Computation Genetics Corp. of Chelsea, Massachusetts. The new program
utilizes a breakthrough Bio-Genetic Thermo-Plastic (BGTP) developed by CGC.
The material has electrical conductivity properties which can be channelled to
the serial port (comms port) of a computer. The PROD extension interprets
signals from a sensor pad (PROD PAD) made from BGTP. In conjunction with
the extension this permits heuristic interpretation of the user's needs when
operating other computer software.
CGC executive, Dr. R. Ida bin Phulen, and his assistant, Candice B. Reel,
demonstrated the prototype. The user operated a number of unfamiliar
software titles without reference to manuals by placing a hand on the pad,
exercising great concentration and applying Body English. Remarkably, in 85%
of attempts the user's desired effects were input to the QL. More
surprisingly, the demonstrator, although told that the program's function was
word-processing, formatted three paragraphs of justified word-wrapped text in
ABACUS as quickly as if it had been done in QUILL.
PROD is an extension that presently takes 10 parameters including the user's
Sweat Salinity Factor, Body Language Profile Index, handedness (Left or
Right), personality type (A or B) and latitude and longitude of place of birth.
Dr. Phulen, who heads the CGC product development team, is a reknowned
computer high-achiever, informally acknowledged to be descended from
Victorian poet and all-round genius, Lord Byron, on his father's side and from
the explorer, Richard Burton, on his mother's.
“Initially, we selected the Sinclair QL because it was cheap,” admitted Dr. bin
Phulen. "Subsequently, in attempting to transfer the concept to other
computers, we find that these results are only possible on an unexpanded QL
with a JSU ROM. Our software team suspects that PROD utilizes extraneous
code relating to the unfinished WHEN ERRor function on that ROM. Rumors
that only a British computer can respond to Body English are premature"
PROD will be released to the public domain as soon as the team are sure that
the computer will not retaliate if it is input at too high an EOR (emotional
overload rate). "We see this development as a major breakthrough in Artificial
Intelligence. Our sole interest is the commercial application of the sensor
pad,” explained Dr. bin Phulen. "Whether or not Graphic User Interfaces and
mice will be made obsolete remains to be seen.”
It is expected that when commercial release commences in July, 1993, the
sensor pad will retail for about $400.00. A scurrilous rumor that a discount
drug store bandage works just as well was traced to a Silicon Valley firm.
CGC attorneys are reviewing legal options. PROD and its source code will be
freely available through NESQLUG, at P.O. Box 8763, Boston MA 02114.
Computation Genetics received commercial and military grants of $75 million
grant to develop Bio-Genetic Thermo-Plastic applications on April 1, 1992.
29
NOTES FROM EMSOFT
In the last issue of update, we summar-
ized the Dilwyn Jones titles that we
stocked. As a result of an onset of the
flu, the description of SUPER DISK INDEX
ommitted an essential feature: the
directory of files in the index is
automatically read in by the software
from the disk's directory. That is,
once SDI is running, it automatically
adds all the file names on a _ disk
inserted in the designated drive.
We take off our CATS hat in admiration
to all who have ordered this program to
date under the mistaken assumption
that each file name had to be key-
punched individually!
TAX-I-QL/91 has been cancelled. As of
inid-February only eight orders had
been received. Customers checks were
returned. We don't know if the reason
is that the program is not useful, if no
one who owns a QL needs Form 1040, or
if we did not advertise the program
enough. In any case, we couldn't
justify the time and cost of even
writing eight manuals.
If there is interest for a TAX-I-QL/92,
please let us know at the EMSoft
address in the ad elsewhere in this
issue.
HOWEVER, the good news is that we
now have text87 plusé. Yes, it's expen-
sive, but cheaper than DP's PERFEC-
TION. The cursor is faster, overwrite
mode is supported, and Function keys
behave like Quill's, for easy transition.
But it's the bells and whistles that set
it apart. On-line help instead of a fat
manual, multiple documents in memory,
moveable windows for prompts and help,
document previewing before printing.
Great for the person who takes the
appearance of documents seriously.
QL GENEALOGIST has a second edition,
keeping it ahead of every other family
tree program for any computer. A neat
feature is the ability to export to
ABACUS utilizing spreadsheet cells as a
surrogate family tree.
5G
LIGHTHOUSE, QL GRAPHICS
by Taylor Penrose
"Enclosed please find my
first of many contributions to
the QL community. This screen
and dump was created for a CGP
220 color ink jet printer
produced by Radio Shack, so I
can not say if it will work on
any other color printer to doa
screen dump. I am still working
on an eight color and may end
up using Pixel 6 in a loop. For
those with different printers
it will at least
starting point.”
(Editors Notes) I think this
short type in program is a
marvelous way to get some of
our readers started or helped
in using their QL to produce
screens or graphics without the
aid of an art program. Study
the listing and look for the
REM lines, as these will tell
you what is being created on
the program lines upto the next
REM line. You can later take
each of these segments and use
them by their self to see what
effect they create on their
own. Then try changing the
Parameters given and see the
result. Ah!ii!!, this is not
"heavy" programming, just fun.
' For those who have enjoyed
this little exercise and want
to further explore graphics and
screen dumps on the QL, we have
provide a
two things that come to mind.
One, we hope to see more from
Taylor Penrose on this and
related subjects in the near
future. Second is to study the
manual that came with the QL.
While what we find in there is
sparse, many of us have learned
just enough about our machines
that if we were to now get out
that old manual that we got
lost on when we first got our
QL, we would see that it makes
more sense to us now. Not
perfect, mind you, just more
sense than it first did. Have
fun with your computing, like
most subjects we encounter in
life it should be kept light,
so that it is just one more of
lifes enjoyments.
108 WINDOW 51i2.262,6,6 ‘PAPER 7 -OVER { ‘CL9 ‘CSIZE G.@ -SUALE 10.4.8
11@ WINDGM #8,512,54,.6,282 =PAPER 46,457 'ENK %6,6 °CLS #0
206 REMark == Ocean ==
216 INK 4.7 ‘FILL 1
226 LINE @.8 TO 6,36 5194. TO 198.34
360 REMark == DarkKed sky ==
318 INK 2.0,2 «LINE 8.76 TO 6,80 1194.78 TG 196,86
$20 LIWE 0.65 TO 6,63 5196.65 TO 196.63 «FILL 8
4@8 REMNark == LightRed Sky ==
416 INK 2.7 :FILL 2
420 LINE G.50 TG 198.58 14,55 TO 6.59 1196.55 TO 196.59
S@@ RENark == Grey Cloud
5i@ INK 255 7 ‘ 2
$20 FILL t © CIRCLE 60.55, 10.9E-2.RAD( 90) 58G,57,3 189,57,2 - FILL @
66@ REMark == Gulls = ’
616 IKK @ :ARC 4@,4@ TO 45,45,-PI/“2 TO 5@,5@,-PIv2 189.35 TO $5,35.-PIl-@ TO 161,35 .-Pive
REMark == Safl Board <2 Af
FILL @ <INK @ ‘CIRCLE 40,20,13,.25,RAD¢ 1205 :RENark Board Shadow
FILL £ :INK 2? ‘CIRCLE 48,26,12..25,RAD(C 128) «FILL @ :REMark Board
INK @ -FILL S°ARC_R 3.2.5 TO -15,15.P1°3 'REMark Mast & Sail ‘
INK 3 :LINELR TO 2,-15 TO 13.-,5 <FILL @ : INK 4 *LENELR ~15,15 TO -5,~-3,5
INK @ ‘FILL @ ‘ARC 4@,38 TO 38.22.-PI¢4 :REMark Boom
REMark == LIGHTHOUSE ==
INK 7 (OVER 1 FELL CIRCLE 172,38,68,.,1.PIV2
INK @.4 FILL $ : CIRCLE 172,3@,6G....P172 -GVER 1 :REMark Island
INK 2 FILL f tL INE 165,35 TO 167.9@ 4179.33 TO 177,98 ARD 165.35 TO 179,45.P1-9 a
‘FILL &£ : ARO 167.99 TO 177,96,P1-3 /REMark Tower
THK @ :FILL @ ‘LINE 167.5,89 TO 168,95 s176.5.89 TO 176,95 -ARC 167.5,.89 TO 176.5,89,P5
INK 2 :FILL 1 ‘CIRCLE 172,95,5.5..2,-P1/2 -REMark Top
BLOCK 8-6,476,65,@ ‘BLOCK 6,6,471,86.7 ‘RENark window
BLOCK &,8,462,.66,4 ‘BLOCK 6,6,463,61-7 ‘REMark window
FILL @ :OVER @ :INK @ ‘SBYTES MDVI_LightHouse_Scrn, 131972,32768
PAPER #@.0 :INK #@.7 <CLS #8 «STOP
REMark ~---~>6 te++sEREEK High Resolution Dump RIKKI ++ ee esaes~
DEFine PROCedure SerDump
DIM dats<3,64)
screentl3ig72
OPEN 93. serine
REPeat loop
FOR col@i FO 64
Gat8C2,colSCHRSCPEEK( screen?) ‘REMark Creen
datse l,cot osCHRS( PEEKS screenti >) (REMark Red
daté03,col *CHRE PEEK( screen &&PEEK( screenti >> i RENark Blue
ecreen=screentZ
END FOR col
PRINT #3, CHRSC 27 2&"C"GCHREC 64);
FOR n=l YO 3:'PRINT #3, dat#en.4 TO;
JF gcreend=163839 THEN EXIT loop
END REPeat loor
BEEP 189,1
END OEFing ScrDump
L
Int Q feport INTERNATIONAL QL REPORT
S The Definitive Information Source
v 2
If you had been a subscriber during the last year you would
have received advanced information on the latest hardware
developments for the QL, including the QL HDD-Card,
FLP/RAM level 2 Replacement Eprom, the new Miracle
Systems Graphics Card, Minerva, Exeqtor and the QL
ROM-Card. Articles contributed by QL Users from around the
world included, How to Setup the 3.2 Meg. Floppies,
Programming in "C", P.D. Software, Program Listings, A
Multi-part Toolkit II Tutorial, Tips & Hints, and Reviews of
Software. In addition, subscribers were offered the opportunity
to participate in Group Buys of hardware at substantial savings.
These buys, included Gold Cards, 3.2 Meg. Drives, Keyboard
Interfaces and 32K Buffer Chips for Panasonic Printers.
As we enter our second year and continue to grow, we hope
you'll grow with us.
The International QL Report is published 4 - 6 times per year,
and is available from SeaCoast Services, 15 Kilburn Court,
Newport, RI 02840. Subscription rates are $14.95 in U.S., $16.95
in Canada, and $28.00 for the rest of the world (U.S. funds only
please).
ene —
QL Hacker's Journal
Supporting All QL Programmer's
Ed Grey Enterprises
QUALITY COMPUTER PAGDUCTS
On Line Support:
The Grey Matter BBS
213-9716260 (CALAN) Tt
Sales and Information:
(213) 759-7406
P.O. Box #2186
Inglewood, CA 90305
4773 W. Braddock Rd. #3
Alexandria, VA 22311
(103) 820-657
Timothy Swenson, Editor
Ts * Hardware * Software . CPIM
tswenson@dgis.dtic.dla.mil
MDM
ENTERPRISES
TIMEX & SINCLAIR
COMPUTER SPECIALIST
DUANE MALBURG
(S17) 781-1680
2340 S. GRAHAM ROAD
SAGINAW. Mi 48603,
MICHAEL DAVIS
(517) 791-1088
706 S. MASON
SAGINAW, MI 48602
32
fim RSQ
MCME ELECTRIC MORET LE
Box 18093 Austin TX 78760
Ph (512) 451-5874
INSTRUCTION MANUAL PROGRAM CAD#3
For EPSON 9 pin printers or equivalent
Using LKDOS Disk Operating System
Copyright 1989 William J. Pedersen
All rights reserved.
The WIDJUP Co. is proud to present the most powerful,
flexible, and user friendly printed circuit board design
program available for the TIMEX TS2@68 as of this date.
It lets ambitious people create their own electronic
hardware without demanding access to industrial facilities
or photo laboratories.
At the same time, this program does fully professional
work suitable for small industry. Though CAD#3 is self-
contained, it is compatible with several specialized
companion utilities like “TRACE MASTER", which writes
DATA PILES for CAD#3 using higher level graphic language.
The WIDJUP Co.
1120 Merrifield S.E.
Grand Rapids, MI 49507
Tel: (616) 452-7004
33
TABLE OF CONTENTS
SUBJECT PAGE
MES Fa KERR, SDE ae SAREE Re RA SET oe ck 2
MAIN MENU occ ce cca eter cence t eee ee rene ese et eee 2
LOAD PCB DATA .. 3
LOAD SUB-MENU 2... 6. ee cece cece ee teeter t eee eeee 3
SAVE PCB DATA .... " oe ee eee ee ea 3
EDIT PCB DATA ....cceeeeereeceneeser eter tetteeee 4
ADD IDEM -sevisceredie aiaig a en gv oa ane a gia wie nal are ee ee aS 4
ADVANCED TECHNIQUES ......- See ence nce eerste een e ne ees 11
TEXT EDITOR sso (cessive PRs mts Hege do Ses Saha se ES i
INTRODUCTION
This program makes use of LARKEN LKDOS. This version is for EPSON and
compatible 9-pin printers. Versions are available for OLIVETTI INKJET,
EPSON compatible printers, and using JLO SAFE DOS. Fine results are
obtained with the OLIVETTI PR2309, which provides total black-white contrast
without needing a brand new printer ribbon. CAD#3 makes use of file types
Program, Data, and Code. Piles created using CAD#3 are transferable to
other DOS systems via tape. The other system must be able to store the same
type records.
Though this program assumes double density 2 sided, 5 1/4 disks, other
formats are readily accommodated by changing default parameters. A
All operations are menu supported, system initialization is automatic,
and no LKDOS commands are required once the program is loaded.
The ability to monitoring your work as it proceeds is provided by a
DISPLAY feature. This saves much time, paper, and aggravation.
Operations have been made as easy to use as can be, considering the
complexity of the task at hand. The temptation to unnecessarily standardize
operations (thus limiting what your ingenuity can accomplish) has been
resisted. No compromise has been taken with quality of results. Best use’ +
of printer performance is made, though this creates a heavy computation load
for the computer. If you want superior results, you have to do the work! '
Exceptional editing procedures let you avoid doing work over and over
again. Now THAT is user friendly!
EXTENDED FEATURES
CAD#3 provides several features in addition to what is available in
LKDOS extended BASIC. To be specific, WIDJUP programs LPRINT #5, LLIST #5
(Which does formatted and indented LISTings), screen dumps, and several
graphic windows for LPRINTing-single and double size lines.
They say that nothing is fool-proof to a sufficiently talented fool.
Well, CAD#3 has been designed to require considerable talent to foul it up,
AND to recover even if it has been. Error trapping is used extensively.
DISPLAY is limited to 4 x 5.4 inches. This does not prevent making
boards longer than 5.4 inches. It is simply not possible to DISPLAY the
whole board at once. J '
MENUS'
MAIN MENU ;
The WIDJUP Co. (C) 1989..CAD#3
MAIN MENU
FUNCTION DESCRIPTION
1 LOAD PCB Data Array
2° CREATE New PCB
3 EDIT PCB Data Array
4 DISPLAY PCB
5 DIRECTORY Drives 0-4
6 REPORT LPRINT Data
7. GENERATE PCB Image
8 COPY From Image File
9 SAVE PCB Data Array
Select by #" "
This is what you see after CAD#3 is loaded. It reappears after
selected operations are completed.
35
CAD. BO Listing 7714/91
1 ON ERR GO TO 9885: GO TO Main
12 LET a=INT al: IF a<O THEN LET a=0
13 IF a>879 THEN RETURN
14 LET b=INT (b1-1): IF a>b THEN RETURN
15 IF b>879 THEN LET b=879
16 LET c=INT (a/256): LET a=a-256xc: LET d=INT (b/256): LET b=
b-256%*d
17 LET s=f-8xc: IF c=d THEN PLOT a,s: DRAW b-a,0: RETURN
18 PLOT a,s: DRAW 255-a,0: LET s=s-8: GO TO 22+c-d
19 PLOT 0,s: DRAW 255,0: LET s=s-8
20 PLOT 0,s: DRAW 255,0: LET s=s-8
21 PLOT 0,s: DRAW b,0
22 RETURN
44 LET j=ztkkti,7)
45 GO SUB 12: IF j<@ THEN RETURN
46 LET j=j-1: LET Al=Alt+y(kk,8): LET Bi=Bl+y(kk,&): GO TO 45
100 IF y>y(kk,5> THEN GO TO 201
101 LET al=yQkk,2): LET bl=y(kk,3): GO TO 44
120 IF y>y(kk,5) THEN GO TO 201
121 LET a=C(y(kk, 5)+y(kk,6))/2: LET c=y(kk,4): LET b=y(kk,13>: L
ET s=bty(kk, 12)*(y-a): LET al=s-c: LET bil=ste: GO TO 44
130 IF y>y(kk,5) THEN GO TO 201
131 LET d=y(kk,2): LET j=y(kk,3); LET c=y(kk,4): LET a=(y(kk,5)
+y(kk,6))/2: LET b=y(kk, 13)
132 LET s=bty(kk,12)*(y-a)
133 LET al=s-c: IF al<d THEN LET al=d
134 LET bi=stc: IF b1>j THEN LET b1=j
135 GO TO 44
140 LET b=Cy(kk, 5) +y(kk,6))/2: LET-c=y(kk,4): LET d=y-b: LET s=
(i-dxd/c/e): IF y>y(kk,5) OR s<z THEN GO TO 201
141 LET a=y(kk,13): LET s=ckk1*SQR s: LET al=a-s: LET bl=ats: G
O TO 44
150 LET b=CyCkk, 5)+yCkk,6))/2: LET cuy(kk,4): LET d=y-b: LET s=
(1-dxd/c/c): IF y>y(kk,5) OR s<z THEN GO TO 201
151 LET a=y(kk,13): LET s=ckk1*SQR s: IF s>y(kk,12) THEN LET s
=y (kk, 12) =
152 LET al=a-s: LET bi=at+s: GO TO 44
160 LET b=Cy(kk,5)+y(kk,6))/2: LET c=y(kk,4): LET d=y-b: LET s=
(l-d*d/c/c): IF y>y(kk,5) OR s<z THEN GO TO 201 - 7.
161 LET s=cky(kk,3>*SQR s ~
162 LET a=y(kk,13): LET ai=a-s: LET bl=a+s: GO TO 44
170 LET c=y(kk,4): LET d=y-y(kk,6)-y(kk,12): LET s=1-d%d/c/c: 1
F y>y(kk,5) OR s<z THEN GO TO 201
172 LET s=cky(kk,3)>xSQR s
173 LET a=y(kk,13): LET al=a-(s AND y(kk,2)>3): LET bl=a+(s AND
Cy(kk,2)<5)): GO TO 44
201 LET Del=y(kk,10): LET y(kk,5)=y(kk,5)+Del: LET y(kk, 6)=y(kk
,6)+Del: LET y(kk,9)=y(kk,9)-1: RETURN
205 GO SUB 225: LET t=INT (C(ff/32) AND Uflag): LET y=32kt-i: LE
T kk=z
206 GO SUB 225: LET t=t+i: IF NOT Uflag THEN GO TO 212
209 LET h$=f$¢ TO 111>+STR& t4+".CZ": RANDOMIZE USR LK: GO TO Gd
rive: POKE 23728,LK: RANDOMIZE USR LK: LOAD h$ CODE : RANDOMIZE
USR LK: GO TO Drive
212 FOR L=z TO 31: LET y=y+i: IF y<ff THEN GO TO 217
213 LET £=175-L-24xINT (L/8): LET u=0: LET kk=0
214 LET u=utl: IF y(u,9) THEN IF y>yCu,6) THEN LET kk=u: INVE
36
RSE y(u,1l1>: GO SUB ylu,1)>
215 IF u<Last THEN GO TO 214
216 IF NOT kk THEN GO SUB 225
217 NEXT L: INVERSE z
218 IF Gmode=ii OR Gmode=iv THEN GO SUB 500
219 IF Gmode>ii THEN LET h$=f£$( TO iii)+STRS t+’.CZ": PRINT AT
11,16;h$,AT 15,16;"Scale= ";Scale: RANDOMIZE USR LK: GO TO Gdri
ve: RANDOMIZE USR LK: SAVE h$ CODE 16384,4112: RANDOMIZE USR LK:
GO TO Drive
220 CLS : PRINT AT 18,i1;£%;"%*";scale'"” Frame #”;t;" done.”
221 LET s=0: FOR n=1 TO Last: LET s=sty(n,9): NEXT n: IF NOT s
THEN LET Uflag=z: RETURN
222 IF (t=76 OR t=152) AND Gmode>ii THEN GO SUB 9093
223 GO TO 206
225 LET f£f=4096: LET s=1
226 IF y(s,9) THEN IF y(s,6)<ff THEN LET ff=y(s,6)
227 IF s<Last THEN LET s=sti: GO TO 226
228 LET f£f=ff AND ff>0: RETURN
300 FOR n=z(i,i) TO here STEP -i: FOR k=i TO 11: LET z(nt+ii,k>=
z(nti,k>: NEXT k: NEXT n: LET z(i,id=z(i,id+i: RETURN
302 FOR n=here TO z(i,i)-i: FOR k=i TO 11: LET z(nti,k)=z(n+til,
k): NEXT k: NEXT n: LET z(z(i,i)+i,1)=z: LET z2(i,io=zCi,io-i: IF
here>z(i,i) THEN LET here=z¢i,i> i
303 RETURN
305 PRINT INK 8; PAPER 8;AT ii,11;"LAST ";z¢i,i);" ";AT 1i,xx
3" SELECT "SAT i1,27;Here;: FOR k=left TO lefttiv: LET b=6*(k
~left)+2: LET d=k+i: LET c=(z(d,6)-1) AND (z(d,1)=10): PRINT AT
4,b;k;" ";AT 5,b; Q8(z¢d, 1) t+1te)
306 FOR n=1 TO 11: LET a=INT (z¢(k+1,n)*1000): PRINT INK 1+(k=H
ere)+(6 AND k>z(1,1>>;AT n+6,b6;a/1000: NEXT n: NEXT k aan
307 PLOT 0,168: DRAW 0,-150: DRAW 254,0: DRAW 0,150: DRAW -254,
0: RETURN i
450 LPRINT ":G89;32;22;2:2";: RANDOMIZE USR (Ld0+47): RETURN
451 LPRINT "'/7'G89;32;22;2:2";: RANDOMIZE USR (Ld0+47): RETURN
453 POKE 141,64: POKE 1d2,64: POKE 1d3,8: POKE 1d4,128: POKE ld
5,80: LPRINT "!G89;64;1;3!2";: RANDOMIZE USR (Ld0+45): RETURN
500 POKE 141,110: POKE 142,128: POKE 1d3,32: POKE 1d4,0: POKE 1
@5,64: LPRINT "'G1;110;4;1:2";: RANDOMIZE USR 27040: RETURN
1200 RETURN
1210 LET a=z(ss,v)/ii: LET b=(z(se,ilid+z(ss,iv))/ii: LET c=ABS
(b-z(ss,iv))
1211 LET y(n,i)=LK: LET y(n, 11)=(b-o) *k¥: LET y(n, 111)=Cb+0) *KY:
LET y(n, v)=(z(ss, 1i)ta)*kX-i/ii: LET y(n, six)=(z(ss, 1i)-ad*kXt+i
fii: GO TO rr
1220 LET b=z(ss,ii): LET c=z(ss,v)/il: LET a=(z(ss,1ii)+z(ss,iv>
fii: LET a=ABS (z(ss,iii)d-z(ss,iv))/ii
1221 LET y(n,i)=LK: LET y(n, ii)=(b-c)kkY: LET y(n, L£495 Coto kkY
LET y(n, v)=(atd) *kX-1/ii: LET y(n, Six)=(a-d)*kkXt+i/ii; GO TO rr
1230 LET b=z(ss,ii): LET d=z(ss,iv)/ii: LET c=z(ss,w)/ii
1231 LET y(n,1i)=LK: LET y(n, i1)=(b-d)x*kY: LET yn, 144)= (bt) &kY:
LET y(n, v)=(z(ss, iii) +c) *kX-171i: LET y(n, Six) =(z (ss, LL 1)-c)'*#kKX
+4/ii: GO TO rr E
1240 LET b=z(ss,ii)?
1241 LET y(n, i)=160: LET y(n,iii)=z(ss,v)kk1: LET y(n,iv)=z(ss,1i
v)*kX: LET y(n, v=(z2(ss,iii)+z¢ss, iv) )*4kX-i/ii: LET y(n, sixd=(2¢
ss,ilid-z(ss,iv))*kX+i/7ii: GO TO rr
1250 LET a=(z(ss,iv)+z(ss,ii))/ii: LET c=(z(ss,iv)-z(ss,ii) ii:
LET d=z(ss,v)/ii: LET b=z(ss,iiid+ckSGN d: LET w=ABS c+ABS d
1251 LET y(n,i2=130: LET y(n,ii)=(b-w)*kY: LET y(n, ii1)=(Cb+tw) tkY
LET y(n, iv)=(ABS d)*kD-i/ii: LET y(n, v)=Catw)*kX-i/7ii: LET y(n
37
»Six)=(a-w)kkX+i/7ii: LET y(n,12)=k1%*SGN d: GO TO rr
1260 LET a=(z(ss,iv)+z(ss,ii))/ii: LET c=(z(ss,iv)-z(ss,i1))/11:
LET d=z(se,v)/ii: LET b=z(ss,iii)+ckSGN d: LET w=-ABS ct+ABS d
1261 LET y(n,i)>=120: LET y(n,iid=z: LET y(n,iii)=879: LET y(n,iv
.=(ABS dkkD)-i/7ii: LET y(n, v)=Catw)kkX-i/ii: LET y(n, six) =(a-w)*
kX+i/ii: LET y(n, 12)=k1xSGN d: GO TO rr
1270 LET c=z(ss,ii): LET al=z(ss,111): LET d=z(ss,iv): LET bi=z¢
ss,v): IF c=d OR al=b1 THEN GO TO 1310
1271 LET a=(al+bl)/ii: LET b=(ctd)/ii: LET Tan=(bi-al)/(d-c): LE
T d=ABS (d-c)/ii: LET c=ABS (bli-al>dvilt
1272 LET w=z(ss,six)/ii: LET An=ATN Tan: LET Sin=SIN An: LET ew=
ABS (wkSin): LET eh=wkCOS An
1273 LET y(n, i)?=130: LET ytn,ii)=(b-d-ew)xkY: LET yin,111)=(Cbtdt
ew)kkY: LET y(n,iv)=ABS (w/SinkkY)-i/7ii: LET y(n,v)=Catcteh) tkX—
ivii: LET y(n,six)=(a-c-eh) XkX+i/ii: LET y(n,12)=ki1/Tan: GO TO r
P
1280 LET b=z(ss,ii): LET a=z(ss,iii): LET h=z(ss,iv)
1281 IF h<=z THEN GO TO 1310
1282 LET y(n,i)=140: LET y(n,iv)=hxkxX: LET y(n,v)< Cat. 74¢h) *kX-i
7ii: LET yn, six)=(a—. 75¥b) *kXt+i7ii: GO TO rr
1290 LET b=z(ss,ii): LET a=z(ss,iii): LET h=z(ss,iv)
1291 IF h<=z THEN GO TO 1310 7
1292 LET y(n,i)=150: LET y(n,iv)=h*kX: LET y(n,v)=(ath> ¥kX-i/ii:
LET y(n,six)=(a-h)xkXt4/ii: LET y(n,12)=.75*h*kY: GO TO rr
1300 LET b=z(ss,ii): LET a=z(ss,iii): LET c=z(ss,iv): LET d=z‘ss
+Y: LET w=z(ss,six): LET al=(w>i AND w<7): LET bl=w>v OR w<ili
1301 LET y(n, i)=170: LET y(n,ii)=w-(iv AND w=8): LET y(n, iii>=dx*
kil: LET y(n, iv)=ckkX: LET y(n, v)=(at+(c AND b1))*kX-(.5 AND b1):
LET y(n, six)=(a-(c AND a1))«kX+(.5 AND ald: LET y(n,12)=(ckkX-17
ii) AND al
1302 LET y(n,7)=z(ss,7): LET y(n, 8)=z(ss,8)*kY: LET y(n, 9)=z(ss,
9):-LET y(n, 10)=z(ss,10)*kX: LET y(n,11)=z(ss,11): LET y(n,13)=b
x*kY: RETURN
1310 PRINT AT 10,iii;” BAD DATA. ITEM #";ss-i;" ";: PAUSE z: ON
ERR GO TO Main: LET n=n/z
3020 CLS : PRINT" WIDJUP DATA LOAD SERVICE Drive ";Ddri
ve,,"";AT iv,i4i;"DATA ARRAYS are usually stored on DRIVE 0."''"
Enter new drive # or simply. ENTER to accept.”
3021 ON ERR RESET : INPUT "Drive #? ";I1$: IF I$="" THEN LET n=
Ddrive: GO TO 3023
3022 ON ERR GO TO 3021: LET n=VAL I$: ON ERR RESET : LET Ddriv
e=n
3023 CLS : PRINT " WIDJUP DATA LOAD SERVICE ”: RANDOMIZE U
SR LK: GO TO n: RANDOMIZE USR LK: CAT "*.AZ",: PRINT AT i,z;" D
rive ";Ddrive;"; "; OVER ij"",,""%,;AT 18,z;"Extension .AZ will be
appended. ENTER to QUIT”
3024 INPUT "Which ? ";I$: IF LEN I$=z THEN RETURN
3028 LET FS=I$+".AZ": RANDOMIZE USR LK: LOAD I$+". AZ" DATA z():
RANDOMIZE USR LK: GO TO drive
3029 LET here= RETURN
3041 IF z¢i,i)=z THEN GO TO 3060
3042 CLS : PRINT AT 8,8;" WARNING "''" File ";f$;" is present.”
''™ Continuing will destroy file.": INPUT "Continue? Y/n ";1$: I
F I$="Y" OR I$="y" THEN DIM z(100,11): LET f$="No Bata": GO TO
3060
3043 PRINT ''” CANCELLED"; RETURN
3060 LET here=here-(here AND f$="No Data"): LET qf="litiixxit:
3061 GO SUB SE: GO TO HK
3063 INVERSE pS: PLOT pl,p2: DRAW p3,p4: INVERSE z: RETURN
38
3064 PLOT pl,p2: DRAW pS,z: DRAW z,p4: DRAW -p3,z: DRAW z,-p4:
ETURN
3065 CIRCLE pl, p2,p3: RETURN
3066 PLOT pl,pé@: DRAW p3,p4: RETURN
3067 PLOT pl, p2: DRAW i,iii: DRAW 1,-iii: DRAW -i,-iii: DRAW -1i
iii: RETURN
3068 PLOT pi, pe: DRAW iii,i: DRAW iii,-i: DRAW -iii,-i: DRAW -ii
i,i: RETURN
3069 LET c=PI/ii: LET a=INT (Cp?-1)/ii): LET b=INT (p7/iidti: FO
R k=akc TO btc STEP 1/p3: PLOT pl+p3*COS k, p2+p3*SIN k: NEXT k:
RETURN
3080 GO SUB 4010
3081 FOR n=ii TO z¢i,idti
3082 PRINT AT 18,z;"#";n-i: LET a=z(n,i>: IF a=z THEN PRINT AT
11,5; OVER i;” BAD or NO DATA "
3063 IF a=i THEN LET pl=L4z(n,ii)t+xo: LET p2=Lxz(n,iii)+yo: LET
p3=z: LET p4=Lx*(zin, 4)-z2(n, iii)): LET pS=z(n,1i1): LET bb=3063
3064 IF a=ii THEN LET pl=L*z(n,iii)+xo: LET p2=Lkz(n,ii)tyo: LE
T p3=Lx(z(n,4)-z(n,iiid): LET p4=z: LET pS=z(n,11): LET bb=3063
3085 IF a=iii THEN LET p2=Lxz(n,ii>: LET pl=Lxz(n,iii>: LET p4=
Lxz(n,4): LET p3=L*z(n,5): LET p2=p2-p4/iityo: LET pi=pi-p3/iitx
0: LET bb=3064 ;
3086 IF a=iv THEN LET pl=L*z(n,iii)>+xo: LET p2=Lkz(n,iid+yo:' LE
T p3=Lkz(n,4): LET bb=3065 ;
3087 IF a=v OR a=six THEN LET pl=Lxz(n,ii)+xo: LET p2=L*z(n, iii
d)+yo: LET p3=L*(z(n,4)-z(n,i4)): LET p4=SGN z(n,5)x*p3: LET bb=30
66 u
3088 IF a=? THEN LET p4=Lx(z(n,4)-z(n,ii)>: LET p3=L¥(z(n,5)-z¢
n,iii)d): LET pi=Lez(n,iii>d+xo: LET p2=Lxz(n,ii)t+yo: LET bb=3066
3089 IF a=8 THEN LET pl=L*z(n,iii)-itxo: LET p2=L*z(n,iidtyo: L
ET bb=3067
3090 IF a=9 THEN LET pl=Lxz(n,iii?-iiit+txo: LET pe=Laz(n,iirtyo:
LET bb=3068
3091 IF a=10 THEN LET pl=L¥z(n,iii)+xo: LET p2=Lkz(n,iidtyo: LE
T p3=Lkz(n,4): LET p7=z(n,6): LET bb=3069
3092 LET yy=p2: LET b2=z(n,7): LET a2=z(n,9): LET a3=b2
3093 ON ERR GO TO 3094: GO SUB bb: LET p2=p2+Lx*z(n,8): IF b2>1
THEN LET b2=b2-1: GO TO 3093
3094 ON ERR GO TO 3095: LET p2=yy: LET b2=a3: LET pl=p1+L*z(n, 1
0): IF a2>1 THEN LET a2=a2-1: GO TO 3093 $ ‘
3095 ON ERR RESET : NEXT n: RETURN
3100 CLS : PRINT ” WIDJUP DIRECTORY SERVICE DRIVE TYPE
aan
a) '
3101 PRINT '” 0 DISK DRIVE"''" 1 DISK DRIVE"''" 2
DISK DRIVE”''" 3 DISK DRIVE"?’'" 4 RAMDISK"''"”
5 QUIT "
3102 PRINT '” Fault conditions are sensed"," and displayed for
your action.”
3103 ON ERR RESET : INPUT "SELECT ";1$: IF NOT LEN I$ THEN LET
1g$="5"
3104 ON ERR GO TO 3103: LET n=VAL I$: ON ERR RESET: IF n<z OR
n>S THEN GO SUB Err: GO TO 3103
3105 IF n=5 THEN RETURN
3106 IF n=4 THEN GO TO 3118
3107 PRINT AT 18,0,,,,,,,,: OUT 8,2°(n+1): OUT 16,208: PAUSE 10
OUT 16,0: PAUSE 90: LET tst=IN 16: IF tst-2kINT (tst/2) THEN P
RINT AT 20,2;"DRIVE NOT AVAILABLE”: PAUSE 120: GO TO 3100
3108 OUT 16,95: PAUSE 90: LET tst=IN 16: IF tst-2kINT (tst/2) TH
EN PRINT AT 18,2;"DRIVE IS NOT READY’'” Check for open door, mi
ssing or inverted disk. Correct problem and CONTinue.”: OUT 8,4
39
PAUSE 10: OUT 8,3: STOP : GO TO 3107
3109 LET bit=INT (tst/64): IF bit-2xINT (bit/2) THEN PRINT AT 1
8,2;"(DISK IS WRITE PROTECTED)": PAUSE 60
3110 LET bit=INT (tst/16); IF bit-2xINT (bit/2) THEN PRINT AT 1
9,2;"UNFORMATTED OR FOREIGN DISK"," Insert correct formatted dis
k and CONTinue.”: STOP : GO TO 3107
3116 CLS : PRINT ” WIDJUP DIRECTORY SERVICE ": RANDOMIZE U
SR LK: GO TO n: RANDOMIZE USR LK: CAT '",: PRINT AT i,z;" Drive
"oni: ; OVER 437,95
3119 RANDOMIZE USR LK: GO TO drive: RETURN
3120 INPUT "Comment, Date? ";a$: LPRINT #5'"DATA REPORT... "ja
3121 GO SUB 3080: GO SUB 451: LPRINT CHRS 10
3122 LET Last=Z(i,1): FOR L=ii TO Lastt+i: PRINT AT xx,z,,,,AT xx
,»Z;: LET c=L-1: GO SUB 3128: RESTORE z(L,i)+3200: READ 1%: PRINT
INVERSE z(L,11);" ";1$;" "%;: PRINT " ";: READ k: FOR k=ii TO k
+i: READ I$: PRINT I$;: PRINT z¢(L,k);: NEXT k: GO SUB 3129
3123 PRINT TAB 30;"Cx, yif";2¢(1,9);"k";2z01,79;"1, Pitch(";z«1,10>
7 3%5201,8);"1": GO SUB 3129
3124 IF c=28 OR c=73 THEN LPRINT '''''
3125 NEXT 1: PRINT "END OF DATA”,,,,: GO SUB 3129: RETURN
3128 PRINT " " AND c<LK;” " AND c<10;c;" "3: RETURN
3129 GO SUB 453: PRINT AT xx,z,,,,AT xx,z;: RETURW
3140 ON ERR RESET : CLS : PRINT " WIDJUP GENERATE SERVICE
TEED oe 0, QUIT "''" 1 Screen Only"’'" 2 LPRINT’''" 3) FIL
Ev''' 4 LPRINT & FILE” =
3141 INPUT "Select by # ";I$; OW ERR GO TO 3140: LET Gmode=VAL
(?0"+I$): ON ERR RESET : IF Gmode<z OR Gmode>iv THEN GO TO 314
1
3142 PRINT '” Mode is #”°;Gmode''" 0.73 Scale will print an"’’"
overlay matching the REPORT.”
3143 IF NOT gmode THEN PRINT ''”CANCELLED": RETURN
3144 RANDOMIZE USR LK: LOAD "“y().A1" DATA y(): LET Uflag=z: IF -¢
mode>ii THEN INPUT "New or Update? ”;I$: IF LEN I$ THEN IF I8¢
TO i)="U" OR I$¢ TO i)="u" THEN LET Uflag=i
3145 IF NOT Uflag THEN INPUT "SCALE? ";Scale: GO TO 3148
3146 LET iS$=f£$¢€ TO 1411)+"1.CZ": RANDOMIZE USR LK: GO TO Gdrive:
RANDOMIZE USR LK: LOAD i$ CODE
3147 LET i$="": FOR n=22 TO 28: LET i$=i$+SCREENS$ (15,n): NEXT n
: LET Scale=VAL i$ :
3148 LET kY=Scalex110: LET kX=kY/k1: LET kD=kY*1.414: PRINT #1;”
WORKING "
3149 LET Last=z(i,i?: FOR n=i TO Last: LET ss=nt+ti: LET nn=2(mti,
i): IF nn<i OR nn>10 OR nn<>INT nn THEN PRINT AT 21,51x;"BAD D
ATA AT ";3000+n;"": STOP : RETURN
3150 LET Mode=1200+10%*nn: GO SUB Mode: NEXT n: CLS : GO TO 205
3161 CLS : RANDOMIZE USR LK: GO TO Gdrive: RANDOMIZE USR LK: CAT
“*.Ccz",
3162 INPUT "FILE(no ext)?";18$;" Count? ";bb: LET I$=I$t”
LET I$=I$¢ TO iii): CLS
3163 FOR L=i TO bb: LET H$=I$+STR$ L+".CZ"
3164 PRINT AT 18,z: POKE 23728,LK: RANDOMIZE USR LK: LOAD H$ COD
E
3165 IF PEEK 23728=LK THEN GO TO 3168
3166 IF PEEK 23726=(LK+i) THEN IF L=77 OR L=153 THEN PRINT AL.
18,11;" INSTALL WEXT DISK ": GO SUB 90904: PRINT AT 18,0,,,,,,.,,
GO TO 3164
3167 RANDOMIZE USR LK: GO TO drive: RETURN
3168 GO SUB 500: NEXT L
3169 RANDOMIZE USR LK: GO TO drive: RETURN
3180 ON ERR RESET : CLS : PRINT " WIDJUP SAVE SERVICE
40
oy
Existing File is ";F8,"" ' 7
3181 PRINT ''" 1 KEEP SAME NAME"'''" 2 RENAME FILE (1-6 CHRS)"
ae (Extension .AZ 1s provided.)"''" 3 QUIT ": IB F$="No Data
" THEN PRINT '''" NO FILE EXISTS TO SAVE "; RETURN
3182 INPUT "Select by # ";I$: ON ERR GO TO 3180: LET a=INT VAL
c’o"'+1$); ON ERR RESET : IF a<1 OR a>3 THEN GO TO 3180
3183 IF a=3 THEN RETURN
3184 IF a=1 THEN LET I$=F$: GO TO 3187
3185 INPUT "File Identifier? ";I$: LET I$=I1$+".AZ": PRINT AT xx,
12;1$: IF LEN 1$<4 OR LEN I$>9 THEN PRINT "INVALID FILE NAME, T
RY AGAIN": PAUSE 120: GO TO 3180
3186 LET FS=I$
3187 PRINT AT 20,3,” SAVING "; 18;"",: RANDOMIZE USR 100: SAVE I$
DATA z(): PRINT AT 20,3; 1$;" SAVED",,: RETURN
3201 DATA "i",iv,"X0=","%; Y="," to ","; Width="
S202 DATA "i",1iv,"YO=","; X="," to ","; Width="
3203 DATA ")",4v,"¥YO=",",X0=","%; Her, were
3204 DATA "i" Viv, "Yo=" 1, Xo=",", Rx=",'', Ry/Rx=" '
3205 DATA oye AND z(l,vw><z>+C"i" AND z(1, v)>z), iv, "X1=", ", Yas
1"; X2=","; Width=" '
3206 DATA ("i AND z(1,v)<z)+C"l" AND z(1l,v)>z),iv,"X1=",", YL="
1"; X25","; Width=" :
3207 DATA "!",v,"¥1=",", X1s" ", X2=",%; Width="
3208 DATA "'",4i1,"Y ", Xx ="
3209 DATA "i", 4ii,"YO=",", X0=”, ="
3210 DATA CHRS (155+2(1, six)», vi kom! 1, YOR", "|; Reet," Ry/Rx="
1”; Quad="
3230 CLS : PRINT” WIDJUP EDIT SERVICE",""'''" 1 | Line,"
7 ' Joget’s 2 } Lines," 6 1 Jogtt'" 3 + Box"," 9 + S21
ant"''" 4} Circle","10 1 Pad’'?™ 5 | 45 Deg","11 : Pad”
“6 i 45 Deg”’,"12 {> Quadrant”’''" Items oriented as they a
ppear DISPLAYED, not as printed."
3231 INK 2: FOR n=O TO 5S: PLOT 30,62+16%n: DRAW 0,11: DRAW 11,0:
DRAW 0,-11; DRAW -11,0: NEXT n: FOR n=0 TO 5: PLOT 158,62+16xn:
DRAW 0,11: DRAW 11,0: DRAW 0,~-11: DRAW -11,0: NEXT n: INK 0: RE
TURN
3301 DATA ":"," 1 At X="," 2 y="," 3 To Y="," 4 Wi
dth="," t
3302 DATA "!", At Y="," 2 x="," 3 To XS"," 4 Wi
ath="," 0 -nene
3303 DATA "i"," 1 at Y="," 2 x="," 3 Highy="," 4 wi
dexeo o> . Seees ”
3304 DATA ":"," 1 at Y="," 2 xe"," 3 Rx="," 4 Ry
/Rx=","
3305 DATA ":"," 1 From X="," 2 Y=", 3 To X=", 4
Width="," 0 ----~ z
3306 DATA "i"," 1 From X="," 2 ye"," 3 To X="," 4
Width="," 0 ---~~ a
3307 DATA "i", 1 From X="," 2 Y="," 3 «To X="," 4
Width="," 0 -----
$308 DATA "i," 1 From X="," 2 3 To xXs"," 4
Width="," 0 -----
3309 DATA ":"," 1 From Y="," 2 From X="," 3 To Y=","" 4
To X="," 5 Width="
S310 DATA "i"," 1 At ¥="," 2 X="," 3 Radius="," -
Beewian ee S ” ;
3311 DATA "i"," 1 At Y="," 2 x="," 3 Radius="," =
ee ee ”
3312 DATA CHRS (155+z(c,6))," 1 At Y="," 2 X="," 3
Rx="," 00 4 Ry/Rx="," 5 Quads” ; ae
41 ‘
4010 CLS :
WV z,-162
LET L=40:
: DRAW 214,2:
LET yo=12: LET xo=36:
DRAW z,162: DRAW -214,2z:
PLOT xo-i, yot161: DRA
PRINT AT z,ii1;"4
"SAT 5,444;73"; AT 10,441; "2"; AT 15, 444571"; AT XX, 141;"0"; AT 21,4
70 1 2>xX 3 4 5";AT 12,44;7¥Y""" 7;
4011 FOR n=12 TO 173 STEP 4: PLOT 33,n: DRAW ii,z: PLOT 249,n: D
RAW 44,z: NEXT n: FOR n=36 TO 248 STEP 4: PLOT n,9: DRAW z,ii: P
LOT n,173: DRAW z,ii: NEXT n
4012 FOR n=i TO LEN f$: PRINT PAPER 5;AT n,i:f$(n): NEXT n: PRI
NT AT 20,z;: RETURN
4060 IF z(i,i)<i THEN LET F$="No Data”
4061 BORDER 7: CLS: PRINT *” WIDJUP EDIT SERVICE"," ";FS,,
4062 PRINT AT xx,4;"ESCFIXSELADD < PUTCUT > MAPDEL";AT 21,1;" 1
2. 3 8 i ee es oe
4063 FOR N=7 TO 230 STEP 24: PLOT n,z: DRAW z,16: DRAW 24,z: DRA
Wz,-16: DRAW -24,z: NEXT N
4064 REM spare
4065 LET left=here-ii: IF left<i THEN LET left=i
4066 PRINT AT 7,Z,ysyserestvaeveeeeese +? GO SUB He
4070 RESET : LET a=CODE INKEYS
4071 THEN GO TO 4096
4072 THEN GO TO 5000
4073 THEN GO TO 5010
4074 THEN RETURY -
4075 THEN LET here=here-(i AND here>i): GO TO WE
4076 THEN LET here=heret(i AND here<z(1,1)): GO TO WE
4077 IF a=10 THEN PRINT AT 10,12;" PASTING ";: GO SUB 4099: FOR
n=i TO 11: LET z(hereti,n)=a(n): NEXT n: GO TO VE
4078 IF a=11 THEN PRINT AT 10,12;" CUTTING ";: DIM ali): FOR n
=4 TO 11: LET a(n)=z(here+i,n): NEXT n: GO SUB 4101: GO TO VE
4079 IF a=12 THEN PRINT AT 10,11; DELETING ";: GO SUB 4101: GO
TO WE #
4080 IF a=13 OR a=14 THEN GO TO Hk
4081 IF a=15 THEN GO SUB 4010: LET c=hereti:
PRINT AT 18,z;"#";
here;: FOR n=c TO c: GO SUB 3082: NEXT n: GO SUB Key: GO TO SE
4082 GO TO Hk
4096 ON ERR GO TO HK: INPUT "SELECT ITEM by # ";1$: LET here=VA
L c’o"+I$): ON ERR RESET : IF here<i THEN LET here=i
4097 IF here>z(i,i) THEN LET here=z¢i;i>
4098 GO TO WE
4099 IF z(i,i)=z THEN LET z(i,i)=i: LET here=i: RETURN
4100 GO TO 300 en ps
4101 IF here=z THEN GO SUB Err: RETURN
4102 GO TO 302
4500 PRINT " WIDJUP EDIT SERVICE DATA ENTRY AND MO
DIFICATION "''," ITEM # ";here;" ";: READ I$: PRINT " "; 18," "":
PRINT " 0 CANCEL ": FOR k=ii TO six: READ I$: PRINT I8$,z(c,k)
: NEXT k: FOR k=? TO 11: PRINT ” "sk-i,z¢€c,k): NEXT k
4501 PRINT AT 10,v;"¥ Copies..";AT 11,v;"¥ Pitch=";AT 12,v;"X Co
pies. .";AT 13,v;"X Pitch="; AT 14;11;"10 Eraser.."'" 11 INSTAL
L
4502 PLOT 0,175: DRAW 255,z: DRAW z,-150: DRAW -255,z: DRAW z,15
ce]
4503 IF cc=i12 THEN PRINT AT 20,0;"QUADRANT SPRITES”'"1=:, 1,35
1,455, 551,625, 721,855";
4510 RETURN
4901 DATA i,i,i,.02,z,1,2,i1,2,z2
4902 DATA i,i,i,.02,z,1i,z,i,z,z
4903 DATA i,i,.6,.3,z,1,2,1,2,2z
4904 DATA i,i,.03,1,z,1,z2,1,2,2
4905 DATA i,i,1.5,.02,z,1,z,i,z,z
4906 DATA i,i,1.5,-.02,2,4,2,1,2,2
4907 DATA 1,i,1.5,.02,z,i,z,i,
4908 DATA i,1,1.5,-.02,z,1,2,1,2,z
4909 DATA ii,i,i,ii,.02,i,z,4,
’
’ i, Zz
4910 DATA i,i,.04,z,2,2,.3,7,.1
4911 DATA i,i,.04,z2,2,7,.1,2,.3
4912 DATA i,i,.04,1,5,1,z,1,2,z
5000 GO SUB ST: LET z¢(i,id=z¢(i,i)+i: LET here=z(i, i>
$001 ON ERR RESET : INPUT "Select by # "; I$
S002 ON ERR GO TO Add+i: LET a=VAL ("0"+I$); ON ERR RESET : IF
a<i OR a>12 THEN GO SUB Err: GO TO Addti
5003 LET c=hereti: LET fixx=z: RESTORE 4900+a: FOR n=2 TO 11: RE
AD al: LET z(c,n)=al: NEXT n
5004 LET g$="010203040505060607080910": LET cc=ata-1: LET zc, i?
=VAL (g$(cc TO ccot+1)): IF a=6 OR a=8 THEN LET z(c,5)=-z(c,5)
5005 LET cc=a: GO TO Fixti
5010 LET c#hereti: LET fixx=i: DIM e(11): FOR n=i TO 11: LET e(n
.=z(c,n): NEXT n: LET cc=e(i): LET cc=ccot+(i AND cco>5)4+¢(1i AND cc>
6)+¢(L AND (cc=5 OR cc=6) AND e(5)<z): IF here<l THEN GO SUB Err
: GO TO WE
5011 CLS : RESTORE 3300+cce: GO SUB 4500
5012 ON ERR RESET : INPUT "Select ";1$: IF I$="" THEN GO SUB E
rr: GO TO Fixtii
5013 LET al=[$¢ TO i)="0": IF (al AND Fixx=i) THEN FOR n=i TO 1
1: LET z(hereti,n)=e(n): NEXT n: GO TO SE
5014 IF (al AND Fixx=z) THEN LET z¢hereti,id=z: LET z¢(i,id=z(i,
i)-i: LET here=z(i,i): GO TO SE
5015 ON ERR GO TO Fixt+ii: LET a=VAL I$: ON ERR RESET : IF atl
OR a>11l THEN GO SUB Err: GO TO Fixtii
5016 IF a=11 THEN GO TO 5022
5017 ON ERR RESET : LET Row=at+4: PRINT AT Row,16; OVER i;"
";AT Row,16;: INPUT "Value="; 1
5016 ON ERR GO TO S021; LET bb=VAL ("0'+I$): ON ERR RESET : IF
a=4 THEN IF cc=6 OR cc=8 THEN LET bb=-ABS bb
5019 IF cc=12 AND a=5 THEN IF bb<i OR bb>& THEN GO SUB Err: GO
TO Fixtii :
5020 LET z(c,at+id=bb: PRINT bb;" ";: GO TO 5012
$021 ON ERR RESET : GO SUB Err: GO TO 5017
5022 IF £$<>"No Data’ THEN GO TO SE
5023 ON ERR RESET : INPUT "FILE NAME (less.AZ ext)? ";f8% '
5024 IF £$="" OR LEN f$>six THEN GO SUB Err: GO TO 5023
$025 LET f$=f$+". AZ": GO TO SE t
6000 FOR n=1 TO 20: FOR 1=1 TO 10: PRINT AT n-1,1+1+1~-3;CODE j#¢
n,1l): NEXT 1: NEXT n: STOP : GO TO 6000
7770 GO SUB 7771: FOR j=1 TO 159: POKE LDO+j-1,CODE U$(j): NEXT
j: RANDOMIZE USR (LDO+49): LET Wa=PEEK 23631+256xPEEK 23632: LET
We=INT (LD0/256): POKE Wat15,LD0-256*Wce: POKE Wa+16,Wc: RETURN
7771 LET LDO=26995: GO SUB 7776: RETURN
7776 LET W1d=INT (Ld0/256): LET Wlm=Ld0-256*Wld: LET Ld1=Ld0+76:
LET Ld2=Ld1+5: LET Ld3=Ld2+?7: LET Ld4=Ld3+2: LET Ld5=Ld4+1: LET
Window=Ld0+45;: RETURN
8100 CLS : PRINT " IMAGE FILE COPY SERVICE”’'" Insert SOURCE dis
k in drive 0, formatted DESTINATION disk in drive 1. (Empty or
Matching)": PAUSE 0
8102 RANDOMIZE USR 100: GO TO 0: RANDOMIZE USR 100: CAT "*.czZ"
8104 INPUT "Filename? ";F$;" From: ";from;"'To: ";to
6106 CLS : FOR n=from TO to: LET hé=f£8¢ TO 3)+STRS n+".CZ": PAUS
£ 40: RANDOMIZE USR 100: GO TO 0: RANDOMIZE USR 100: LOAD hs cOoD
E '
43 ‘
,
Zz
+z
Z
8108 PAUSE 40: RANDOMIZE USR 100: GO TO 1: RANDOMIZE USR 100: SA
VE h$ CODE 16384, 4096
8110 NEXT n
8140 STOP : GO TO 8100
8995 ON ERR RESET : CLS : PRINT AT 10,4;" Initializing CAD.BO "
i: LET s=1: LET kk=s: LET a=s: LET b=s: LET c=s: LET d=
: LET bi=s: LET j FOR L=s TO s: NEXT L: L
ET ff=s: LET ee=44: LET aa=201: LET 1=s: LET ws
8996 LET kl1=111/216: LET z=s-s: FOR n=s TO s: NEXT n: FOR k=s TO
s: NEXT k: LET e=s: LET g=s: LET h=s
6997 LET ii=iti: LET iii=iiti: LET iv=i1i+ii: LET v=iv+i: LET six
=vts: LET xx=ivt*v: LET drive=z: LET Gdrive=i: LET Ddrive=drive
LET Here=s
8998 LET Main=9000: LET Me=9006: LET Err=Met+i: LET Key=Errt+i: LE
T Dump=451: LET SR=3000: LET SH=4060: LET WE=4065: LET ST=3230:
LET SD=6000: LET WD=6000: LET HE=305: LET HK=4070: LET ADD=5000:
LET FIX=5010: LET jj=449: LET rr=1302
69909 DIM z(100,11): LET F$="No Data”: LET LK=100: RANDOMIZE USR
LK: LOAD "CAD.CU"CODE : RANDOMIZE USR LK: LOAD "PmodO.A$" DATA u
$0): GO SUB 7770
9000 ON ERR RESET : INVERSE z: PAPER 7: INK z: BORDER 6: CLS :
PRINT " The WIDJUP Co. (C)1989..CAD#2 MAIN MENU",” F
UNCTION",*DESCRIPTION’,"": PRINT '* 1 LOAD","’PCB Data Array"''"
2 CREATE","New PCB"''" 3 EDIT",”PCB Data Array"''" 4 DISPLAY-
"," PCB"? '" § DIRECTORY”,”’Drives 0-4"'’''t 6 REPORT”’,"”LPRINT Data
utr @ GENERATE",”PCB Image”''" 6 COPY", From Image File"''" 9
SAVE”,”"PCB Data Array”
9001 INPUT "SELECT by # ";1$: IF I$="" THEN GO TO Me
9002 IF [$="'q” OR [$="Q" THEN STOP : RANDOMIZE USR 100: LOAD "S
HELL. Bw”
9003 ON ERR GO TO Me: LET n=VAL I$: ON ERR RESET : IF n>9 OR n
<i THEN GO TO Ne =
9004 GO SUB SR+xxxn
9005 GO SUB Key: GO TO Main
9006 ON ERR RESET : GO SUB Err: GO TO Mainti
9007 PRINT #41;AT z,z;" BAD INPUT. TRY AGAIN. ": PAUSE 60: PRINT
#1;AT z,z,,: RETURN
9008 PRINT #1;AT z,six;" PRESS ANY KEY ";: PAUSE z: RETURN
9093 PRINT AT xx-ii,i;' DISK FULL. INSTALL ANOTHER. "'" Enter
"'Go"'" when ready.”: RANDOMIZE USR LK: GO TO Drive: FOR n=1 TO 8
BEEP .3,10: BEEP .3,22: NEXT n
9004 INPUT "Enter ""GO"" when ready.”;W$: IF LEN W8<2 THEN GO T
0 9096
9095 IF WS¢ TO 2)="GO" THEN RANDOMIZE USR LK: GO TO Gdrive: RET
URN
9096 GO SUB Err: GO TO 9094
9500 FOR n=i TO xx: GO SUB 9501: PAUSE z: NEXT n: STOP : GO TO 9
9501 RESTORE 9502: CLS : PRINT "GROUP ";n,'’: FOR k=i TO 11: REA
D i$: PRINT i$;CODE j$(n,k);" "%,CODE o$(k): NEXT k: RETURN
9502 DATA” 1 col ",” 2 rox& "," 3 dblh "," 4 lins "," 5 marg "
»" 6 wide "," 7 n/1 "%," 8 step "," 9 Gmod ","10 Nisb ","11 Nmsb
9990 POKE 26876, 167
99001 INPUT "Date? ";i%: LPRINT "‘N’;CHRS 6;: LPRINT #5'"CAD. BO L
isting ";i$'': LLIST #5: LPRINT "{0";CHRS 12;: STOP
9999 CLEAR : RANDOMIZE USR 100: GO TO 0: RANDOMIZE USR 100: SAVE
"CAD. BO” LINE 8995: GO TO 8995
44
THE SDP
The
rh
Sinclair
Desktop
Publishing
Journal
Volkume 32 Issue 1 Wimter 1992
REKe
Felersiikai
Ty pehmer
‘Typeliner is the desktop publishing
program itself is set up initially to
print to an Epson compatible printer
you with details.
Grey Scale
and DIp
Grey Scale SCREEN$s which may then
be LOADed into any one of several
desktop publishing programs.
Although I have caught wind of other
such programs, ZPRINT 980 and
COLOR2GREY are at the forefront of
Grey Scale utilities Both perform a
different function, and each is a MUST
HAVE for your desktop publishing
software library. (For more
information, see the COLOR2GREY
article in this issue).
COLORZGREY
As mentioned in the Grey Scale article
in this issue of the Journal,
COLOR2GREY is a desktop publishing
utility which canverts a
TS2068/Spectrum SCREENS into a
Grey Scale SCREEN$ so that it may
be imported into a desktop publishing
program package.
COLOR2GREY was written by John
McMichael who also offers three Print
Factory Graphic Designs packages
which were reviewed in the previous
issue of the Sinclair Desktop Publishing
Journal (in Update magazine)
COLORGREY comes on cassette with a
two page instruction set. It is
introduced as “a unique graphic utility
for the TS2068", with witch “a color
SCREENS is converted to a black &
white SCREENS with different shades
of grey (greyscales) replacking the
original INK/PAPER colors” as its own
introduction state. COLOR2GREY also
provides a Grey Scale editor for
customization of the Grey Scale
patterns.
COLOR2GREY comes standard with
LOAD and SAVE to cassette, but it
page instruction set contains the
information to customize, backup and
obtain support from the author.
The Main Menu options include the
following: View Grey Scale SCREENS,
View Color Screen, Save GreyScale
Screen, Save Color Screen, Save
GreyScale Data, Load GreyScale Data,
Copy GreyScale to 2040, GreyScale
(See COLOR2GREY on page 4)
Winter 1992_ Page 2
Sindair. Publi Journal
Ty peliner
(from page 1)
At the Main Screen, text boxes are
SCREENS$s are pulled in from the RAM
Disk and then sized by Typeliner.
Although SCREEN$s are proportionally
limited as far as sizing is concerned,
the effects allowed by Typeliner are
more than adequate.
One important side feature is
‘Typeliner’s ability to print SCREEN$s
as Grey Scales (or SCREENS shading
as the manual states) This feature
can be applied or not to each SCREENS
on the page. This way a separate
Grey Scale conversion program such
as COLOR2GREY could be used for
some SCREEN$s, and the Typeliner
feature on others.
There are four types of boxes as well
as horizontal and vertical _ lines
available for placement on the page.
The box styles are: Thin-line,
shadowed, outline and thick-line. The
Typeliner box/line features provide
basic DTP building blocks. More
complex borders can be loaded as
SCREEN$s or even fonts!
The figure below is an actual Larken
(NMI) SCREENS snapshot from the
Typeliner Main Screen for the front
page of this issue of the Journal (Note:
The last two SCREENS lines 22 and
23 are missing because Typeliner will
not import a full 24 line SCREEN$)
As we see in the figure, the right
hand side of the Main Screen is a
graphic representation of the actual
page. The text has been replaced by
lines which represent the lengths of
text lines graphically.
On the left is a window which contains
the actual text found in the first few
lines of the text block. The text will
change as we jump block to block with
the NEXT command. At any time
while paging through the text blocks,
the E-Key (EDIT) may be pressed and
we instantly jump to the Word-Master
word processing program at the exact
Jocation of the start of the text block
we were viewing. Thus, we have "Edit
on the Fly” capabilities.
Once the page format is created the
actual text can be inputed to fit
within the text blocks with the VIEW
command. Once the VIEW command
is finished painting the screen, we end
up with a page layout with the dotted
text block lines removed and the
graphical text representation of the
page layout in its place. Finally, once
everything is in its proper place and
adjustments have been made, the page
layout can be SAVEd separately and
used later for future pages.
There are two types of page printing
available for output -to your
dot-matrix printer: Draft and Print.
The draft command is used primarily
for visual layout of the physical page.
‘The text printed in the Draft option
Continued on page four_
Text Pagel
Block: 01
~ Te centred
Bllolume 3 Issue i
_ | Winter 1992}
- | Edited BY Nike
FeLerskifl}
>center}
Eln This Issue:f}
> lefty
4
~ Welcone to 1992}
~ Typeliner}
- Grey Scale and
Shading}
- Adding a Mouse}
- Coloreérey}
\ COMing Ups» .}
ycentre}
The Sinclair Desktop Publishing Journal Winter 1992 Page 3
INCREASE YOUR DESKTOP
PRODUCTIVITY WITH A MOUSE
FOR YOUR KEMPSTON PORT
For the last three or four years I have heard several rumors
regarding people using a Commodore 64/128 compatible mouse with
the TS2e66ea. But due to its price Cbetween #35 and #409, I was
not ready to experiment until I had confirming information to
its compatibility. The Novenber-December issue of Gine-Link with
George Chanbers’ letter to “Out of Towners" contained just the
information I needed to make that purchase.
The mouse I have purchased is the "Winner M3" mouse which is
compatible with the Commodore 1358 and 1351 mice. The mouse plugs
into any Kempston compatible joystick port. Since I have a Larken
disk interface, I plugged my mouse into the Larken interface’s
Kempston port. To initialize the mouse you must press and hold
down the right mouse button when you power on the computer. This
move can be a little tricky if you wish to activate a Larken
AUTOBOOT progran from disk Cremenmber your must hold down the
<ENTER> key to activate an AUTOBOOT progran while powering up>.
My first application on which to try my mouse was the Print
Factory’s First Edition. As soon as the program came up, the
mouse operated flawlessly as if were made for the TS2068/Spectrun!
And what are the advantages to using a Commodore compatible
mouse? Let’s see...
‘
One Hann Operation
SmooTH Controtceo Movement
Quzck anp Easy “Fire Butron” Act ruaTion
ooo 0
No NEED FoR SOFTWARE oR PaTcHES To ExisTING PROGRAMS
(JusT anp PLUG anp Go!) y
On the negative side...
o OnLy Wonks with Kempston Comparrece Joysrack INTERFACES,
Bur Not THe TS2@68 Jovstick Ports Cso far).
o Mouse Corp rs MucH Too SHort (CanouT_24"/7@cm LONG) AND
Limairs MopxLiry wirnour a JovsTrcK ExTENTION. Corp
CAVAILABLE FROM RADIO SHACK FOR AROUND $16, 826-117).
-~ Mike Felerski
Sinclair Journal,
Toy Ppeliner
(from page 2)
is just barely readable but graphics
are much more clear.
The final or Print option produces the
final copy which includes three pass
text printing for clarity and ledgibility
of the text characters thus producing
the page you see here.
There are several other features
within Typeliner including
Renumbering, Text Blocks, 8
measurement grid, line — spacing
Where to Write for Further
adjustment, double height text, and a
built-in font editor.
In all, Typeliner is a very complete
dot-matrix printer 1 have ever seen
from a TS2068/Spectrum. Although
the price of Typeliner seems high (and
1 realize that most if not all
Timex-Sinclair owners are always
looking for a bargain), from a
price/performance stand paint, nothing
offered in the Timex-Sinclair world
even comes close.
Word-Master, Typeliner and Headliner John McMichael
Jack Dohany
390 Rutherford
Redwood City, CA 94061
Phone: (415) 367-7781
MG Enterprises
1419 72 7th Street
Oregon City, OR 97045
Phone: (S03) 655-7484
POG
61 School Street
Berrow-In-Furness
Cumbria, UK
1710 Palmer Drive
Laramie, WY 82070
Phone (307) 742-4530
Print Factory DTP Software
Byte Power
1748 Meadowview Avenue
Pickering, Ontario LIV 3G8
Canada
Print Factory Graphics
John McMichael
1710 Palmer Drive
Laramie, WY 82070
Phone: (307) 742-4530
Fonts and More
The Making of this Issue...
This issue of the Sinclair Desktop Publishing Journal was created using
Word-Master with Typeliner for the first, second and fourth peges. The third
page was created using The Print Factory's First Edition program. The new
SOPJ masthead was fabricated with The Print Factory's Quick Screen program,
and the Companicn's Super Set fonts.
The SCREENS snapshot on page two was taken with the Larken NMI button
and was loaded directly from the snapshot disk save into Word-Mester and
Typeliner. All boxes and lines were provided through the Typetiner program
Box/Line feature. Headline fonts came from Word-Master/Typeliners Fat_Face
font.
Winter 1992 4
Up Coming 1m
the SDP...
In future fesues of the Sinclair Desktop
Publihing Journal we will look at the
DK’Tronics Light Writer light pen, the
Genius Mouse and maybe the 128K of
the OCP Art Studio.
Currently my TSSOO is out of
commission. But upon its repair we
will return to covering the
Master-Scribe desktop _ publishing
program for the TSI000 and TS1S00
family. See ya soon!
Eun 2 apn-aen se CARR
MG Enterprises
1419 1/2 7th Street
Oregon City, OR 9704S
Phone: (S03) 655-7484
Video Interface, SCREENS Snapper
Romantic Robot UK Ltd.
54 Deanscroft Avenue
London NW9 8EN
Fenton, Stoke-On-Trent ST4 2RS
England
Phone: 0782-744707 (24 Hours)
‘Sinclair Desktop Publishing Journal
1284 Brushwood Avenue
Cincinnati, OH 945224
COLORZGREY
Editor, Do Another Conversion and
Quit to BASIC. The operation is very
simple: When the program LOADs, it
asks for the filename of the SCREENS
be converted, and it then LOADs the
SCREENS and begins the conversion.
When it is done you can view the
original SCREENS and the converted
Grey Scale SCREENS If you like it,
you can SAVE it or you can do
another conversion,
2009-162-ZTE-T
“pS29p
“NI ‘stLodeue.puy
"3 POOM UOFLLM TEZG
uasbuyoy [ned
ueLseage] *S"n
“LLeo Aew nok ‘*suotysanb Aue ‘asunos 40
"aauj St abeysod pue sysip ayow vo ¢ uapug “ySIp uad OG°g¢ JO JSOD eB ye S¥SLP ApLAosd ued J SYSLM NOK 4]
ABADD
€06 OG'AON pastaAou:
tog Leatetes
Tlv Pas lads’
291 pastaau*
96 pas Aad’
I reese
9bS 26°24 pastaau:
OE 16"AON MAN’ ***
STE O6°AON MON‘ ****
9b2 26°44 pastaad-
BI 26"UeP pastAad*
gag creat epee
zeot *°°'**( AINO SdVUL + ADAIL *L
6sp *
zz °
Sb
189°
Tos °
Tes T6°AON MAN'S *'*
B61 26"URP pastas:
G6I 06°AON pastaa.:
HL crane eens
ObS z6‘UeP pasiaau-
Ben it nceret es
€b2
09
$40}aS aat4
*( apogauLyrew/s zt yoo}
sree *( SOLIELE AN Leuauag
“**( sarqiitan Adoo g utq
**( sweuBoud ysiLeLoads
paasasay
"(wou se
( papocap Wow We
“te'( 998 SOLIELLIN NOISd
s$juazUuo)
stttsseseeess( Squog B SOLFLLEGN 4aquisg )*
TCT uorsuag )*
NOAAM FO AAAS Sa
fot
23aaaaa|
===
1 La hegkslestest_l_!
|
oo
04 spunj yBnoua pue ‘pazsanbau ysip yore vos ¥SLp payzeuoy & BuLpuas Kg
822
18
6eL
1€8
98T
2t
Se
sel
bSE
S28
66
SEb
Té2
89b
GL
SOT
80
682
oge
4
v0L
of
Gre
62
60€
ere
16
I6"AON pastaau’
OB AON MAN TTT Tot trees
06'AON pas -Aaue
26°24 pastnau:
06'AON MON" *
06 AON pas}Aau
06'AON pastaad
26°24 pastnaa:
26'Ga4 pasinad
“uetaeaqiy-qng *
**( uopyeaysuowag y ISIW
paretuguesteeeea ee
( swesBoud 704q730NYW
seess( aya 9 ‘yquoy
TW 947 4oy ZLuMay
suesBoud sotydeug
ABayeuys/quaape saueg
see9( sawey | euauay
):
ve
)-
*7'(S,20p Mau + 39YNOS-NON “UOISJaA UNy )*
nrrtts**( s3qT4 JOUNOS 46°EA SOW] O4DIW )*
06° AON pastAau:
I6"AON pas tras:
soresss( peuotzegnga
stress weuBoud sqg e
T6'AON pastAas*( Jassueds/suot yes, unum;
$40499g 9944
*( uBLsaq papty saznduio9
sst**( saping Aueugl] paseq aalyouy
$yuaquo)
“SYSEP £ 0} SOLES Pappe A4eAgl] ay} JO SUOLSL ABA 2661 “Gad S,YLNYND
)-
):
):
):
)-
S‘N ay. 07 ‘abeqzsod uunzau
SYSLP asayy fo Aue yah Kew suaquew WINYND
"£_0N
27H
SU GW
**2°SHIWH
“TT SHIN
"2_ONVH
“TONY
LUONVT
“ec LINMaY
*2_LIWYD
“T LINWIY
92 ayU9
“Ta
ty $9
“e789
"289
ssa
aera ts
*2_99
099
*2_SOWWI
“T SoWWa
“ronda
ny
is a)
‘Tav3
“30109
aweN SEG
JUMPER SETTINGS FOR THE 3.2 MEG. DRIVE .,
TIVERTON, RHODE ISLAND, USA - DICK TAYLOR
Well, it sounded easy enough from Miracle System's Ad for the Gold Card in QL World;
“enables the QL to interface to 3.2M Byte diskdrives (as well as 720K and 1.44)". I could
certainly see the possibilities for high density drives. I knew that Miracle had problems
with an early TEAC ED drive, but they insisted that Gold Card ROM versions 2.15 and
later had resolved the problem (see earlier issues of IQLR for details). had been having
minor problems with one of my floppies, and this seemed to be an opportune time to order
a replacement and upgrade my system at the same time. Even though the cost of ED floppy
disks is extremely high ($6.00 per diskette), I only plan on needing a half dozen of them.
The access speed of the ED drives is 19 ms, the same as for the Miracle System's Hard
Drive. I plan to setup several "system" disks containing associated programs and use them
as mini hard drives (3.2 meg. cach). This will give me the advantage of a hard drive
without the high cost. I called J.D. Hannam Distributors and ordered a 3.2M TEAC
FD235J 3653 for $95.00 and a 1.44M TEAC FD235HF3217 for $55.00,which I received
within a week. Then the trouble began. The 1.44M drive worked fine with the jumper
straps in the factory settings. Even the drive select jumper was already in the position to
make it fip2. The 3.2M drive was another story. It comes with seven jumpers and 28 pins
on which they can be installed. Fhis provides an almost infinite number of combinations.
Over the next week, Bob Dyl and I tried just about every one of those infinite
combinations. Of the three write and three read formats that the drive has to recognize,
(3.2M, 1.44M and 720K), I was able to get almost any combination of five (such as read
all three densities but only write to 3.2M and 1.44M).My next move was to call Stuart
Honeyball at Miracle Systems for help.To my surprise, his comment was "we tried a
TEAC drive when we first started, but never did get it to work". This is not what we had
been led to believe, nor the level of support we had come to expect from Miracle. He
further suggested that I call someone in Germany (no suggestion as to who). I wrote to
Jochen Merz and Franz Herrmann, but as it turned out we solved the problem before they
could reply. In the meantime, Bob had been on the phone continuously to J.D.Hannam,
TEAC and Mitsubishi with the results of our latest attempts. All three of these organizations
were terrific and expended a considerable amount of time and effort on the part of their
technical staff to find a resolution. The major problem they had was that they were not only
unfamiliar with the QL/QDOS, but also had no information on Gold Card protocol. By this
time Bob and I were convinced that a solution could be found, because we had been able to
find combinations of strap setting that allowed us to read and write to all three densities
even though we couldn't made it happen all at once.Finally, TEAC had us start removing
straps. This put us on the right track that finally led to success. The illustration below
shows the strap settings that make this drive 100% compatible. The one thing that you may
want to change from the illustration is the strap labelled DSO. The position shown. is for the »
drive to be Fip1. If you want it configured for Fip2 then the DSO strap would have to be
shifted to A1-B1.These drives work fantastic, provide a tremendous upgrade in access '
speed and storage capability and I would recommend them to anyone with a Gold Card.
TEAC FD235J 3653(US VERSION)
TEAC FD235J 3650(EUROPEON VERSION)
AS RECEIVED | MODIFIED SETTINGS
TS2068 UPDATE ISSUE DISKS
These disks contain at least one major piece of software written
specifically for disk drive and are guaranteed to be worth the
money. The rest of the disks are filled with various utility
programs taken from the issues of UPDATE and a few surprises
thrown in. Half of the money goes to the author and is meant to
encourage new programming for the TS2068 that makes use of the
various disk drive systems. All are $20.00 per disk (add $1.00
Canada) except where noted in the listing. Postage and handling
is included. Both 3 1/2 and 5 1/4, 40 and 80 track available.
Please add $5.00 for mailing to other countries. We accept
personal checks, company checks, money orders. No charge cards
please.
1) Daisy Word Processor, now available for Aerco and Oliger.
2) Bob Hartung DOSDEX UTILITY ISSUE DISK, a complete disk
management group of programs for the Oliger Interface only. This
includes Multi-Manager for file handling. This collection has
recently been updated and expanded.
3) MAIL MERGE ISSUE DISK, Oct 87 and Jan 88 issues of UPDATE
utilities added to fill out this disk. Includes a tutor program
for the Mail Merge program, List Looker, Purity, J-Utilities and
Extra Memory Utilities. Larken, Oliger and Aerco versions.
4) WIDJUP'S CAD PROGRAM, this will give you professional results
from your TS2068 for computer aided design. Authored by William
J. Pedersen, perhaps the NO.1 authority on the inner workings of
the TS2068. This program can be used to create user friendly
printed circuit boards, computer art or desktop publishing files
It does not need expanded memory cartridges and is available in
four versions: (a) Oliger for either IBM compatible printers or
for the Olivetti Ink Jet. (b) Larken for IBM compatible printers
or the Olivetti Ink Jet printer. Please specify version. NEW!
5) OLIGER DISK DRIVE BBS PROGRAM, this allows users of the
Oliger interface to be able to operate a disk based bulletin
board from the TS2068. The disk is also filled with many other
Oliger disk routines and tips on using the Oliger System. New by
Paul Holmgren. Can use upto four DSQD disk drives.
6)The HYBISCUS ENSEMBLE, consisting of two separate, but
complimentary sets of programs. A): Daisy.B6 Ensemble, and B)
Udbm.B6 Ensemble. LKDOS only, $22 each or $36 for both. The best
file and database available for Larken, by Bill Jones. The price
remains the same on this one, no change. Wordprocessor included.
7) TS2068 Super Calc by Bill Jones. Available in both Larken and
Oliger formats. Handles loans, amortization, savings and fixed
investments, plus a calculator and all for only $15.
UPDATE COMPUTER SYSTEMS invites you to submit software programs
that may become Issue Disks. Please submit program on disk, with
documentation and article to accompany the program. Our goal is
to get North American software available and known. We also
solicit minor programs, tips and utilities for print in future
issues of the magazine. Please do not submit unlistable programs
or copy protected programs.
QL UPDATE ISSUE DISKS
These disks contain at least one major piece of software written
specifically for disk drive and are guaranteed to be worth the
money. The rest of the disks are filled with various utility
programs taken from the issues of UPDATE and aé_ few surprises
thrown in. Half of the money goes to the author and is meant to
encourage new programming for the QL that makes use of the
disk drive systems, and microdrives on both the expanded and
unexpanded QL. Where possible we will give a version for each of
these configurations. Some of the programs take advantage of TK2
by Tony Tebby. All are 20.00, except QLuster, which is $15.00;
includes P & H, add $1.00 CAN.Available as 3 1/2 or 5 1/4 disks.
Add $5.00 for mailing to other countries. We accept personal
checks, company checks, money orders as well as International
Postal Money Orders, but no charge cards. If ordering on MDV,
then please include one that is already formatted, so we will
know it will run on your QL. Due to the expense of MDVs_ this is
necessary. If two MDVs are required we will state so in the ad.
1) HARTUNG UTILITY ISSUE DISK- Several excellent programs = such
as stand alone data base, Address, and QSO files. All are in
Superbasic. Lots of hints and tricks for programmers. Requires
some knowledge of Superbasic or a yen to learn. Recently updated
by Bob Hartung. Address file can be used as inventory program.
it can print out labels. Both screen or paper printouts can be
by Alpha sort, or be by last name.
2) CABLE ARCHIVE ISSUE DISK- Contains six Archive programs along
with Doc files to get you going on making use of the Archive
programming language. Also has Tasket, plus Doc file, to give
you multi-tasking on your QL (much cheaper than QRAM or
Taskmaster). Included is Arithmetic, a Superbasic program for
math, along with math drills. This is for both the advanced and
beginner user and greatly extends the use of Archive. To order
on microdrive send two formatted microdrives, too much for one!
3) QLUSTER ISSUE DISK by Al Feng- Q1] utilities to unclutter your
disks and microdrives. COPY, DELETE, FORMAT, PRINT, VIEW, plus
extended use of some Tool Kit 2 commands. TK2 is required. These
are TURBO compiled for speed. -Multitasks and uses minimal key
presses. Includes Fast-Disk-and Vegemat2, a super clone making
program. Also Snap Shot-a directory column or condensed printout
program.
4) DOS EMULATOR COMPANION ISSUE DISK by Al Feng- Just released
in Oct. issue. Makes better use of Solution, PC Conqueror,
DisCover, XOVER, QLuster and scr_codes. If you are going to use
the emulators, then check this out, you won’t regret this buy.
5) Q@LuMSi DOS by Al Feng- a MSDOS simulator and front’ end
program for the QL, also includes other programs by AL Feng for
file management and cloning of programs. A Great Learning Tool
UPDATE COMPUTER SYSTEMS invites you to submit software programs
that may become Issue Disks. Please submit program on disk, with
documentation and article to accompany the program. We are here
to get North American software available and known. We solicit
programs, tips, reviews and utilities for future issues.